random.shuffle()
리스트와 같은 객체의 원소들을 무작위로 셔플하여 섞어 주는 함수
원소들의 인덱스를 무작위로 변경해 주는 것
※ 머신러닝, 딥러닝 시 훈련 set과 테스트 set을 만들 때 유용하게 사용할 수 있다.
shuffle(객체/인스턴스명)
예시: 로또 번호 뽑기
# 로또 번호 뽑기
# 1~45 숫자를 list에 저장
# list를 shuffle()
# 6개 출력
import random
candidate_numbers = [x+1 for x in range(45)] # 1 ~ 45까지의 숫자가 저장
random.shuffle(candidate_numbers)
print(candidate_numbers[:6])
random.sample()
sequence*에서 지정한 숫자만큼의 요소들을 랜덤으로 뽑아 리스트를 반환해주는 함수
어딘가에 따로 저장해둘 필요가 없다. 바로 원하는 개수만큼 랜덤 값을 뽑을 수 있다.
구현한 알고리즘을 테스트하고 싶을 때 테스트용으로 사용할 예제를 쉽게 만들 수 있다.
* sequence: 리스트, 집합, range() 등 random의 범위가 될 sequence 입력
* k: 반환될 리스트의 크기 입력
※ 유의점
print(random.sample(my_ID, k=1))
위와 같은 코드를 입력하면
- 값 (X)
으로 출력되는 것이 아닌
- [값] (O)
으로 출력된다.
따라서 대괄호를 함께 출력할 것인지 고려해야 한다.
예시
(1) 5개 과일 中 2개 과일 랜덤 출력
import random
mylist = ["apple", "banana", "cherry", "orange", "blueberry"]
print(random.sample(mylist, k=2))
실행 결과 |
['orange', 'bluberry'] |
(2) 0 ~ 99 中 10개의 숫자를 랜덤으로 출력
방법1)
# 0 ~ 99 中 10개의 숫자를 랜덤으로 출력
# 방법 1
import random
my_list = [x for x in range(100)]
print(random.sample(my_list, 10))
방법2)
# 0 ~ 99 中 10개의 숫자를 랜덤으로 출력
# 방법 2
import random
new_list = random.sample(range(100), 10)
print(new_list)
참고 링크
https://m.blog.naver.com/regenesis90/222347130938
https://needneo.tistory.com/131
* 참고 : zip() 함수의 이해 - https://blog.naver.com/regenesis90/222346953808
'Programming Language > Python' 카테고리의 다른 글
[Python] 기본 문법(8): 입출력문(sep, end, file, ljust(), rjust(), zfill()) (0) | 2024.07.18 |
---|---|
[Python] 기본 문법(7): 제어문 - 조건문(if), 반복문(for, while), range() (0) | 2024.07.18 |
[Python] 기본 문법(5): 자료구조 변환하기 (0) | 2024.07.18 |
[Python] 기본 문법(4): 자료구조 - 튜플, 세트 (0) | 2024.07.18 |
[Python] 기본 문법(3): 자료구조 - 리스트, 딕셔너리 (0) | 2024.07.16 |