Python Random 모듈
random 모듈은 무작위 요소를 생성할 수 있게 해주는 내장 모듈입니다.
import random
seed()
seed 메서드는 난수 생성기를 초기화하는 데 사용됩니다.
# 재현 가능한 난수를 위한 시드 설정
random.seed(1)
random.random()
0.13436424411240122
시드를 숫자로 설정하면 항상 동일한 난수가 반환됩니다:
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
seed 메서드의 기본값은 현재 시스템 시간이므로 항상 다른 숫자가 나옵니다:
# 시드 설정 없이 난수 생성 (시스템 시간 사용)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217
randint()
random.randint(start: int, stop: int)
이 메서드는 주어진 시작 및 중지 매개변수 사이의 난수를 반환합니다:
random.randint(1, 5)
3
random.randint(1, 5)
2
random.randint(1, 5)
5
random.randint(1, 5)
1
random.randint(1, 5)
3
random.randint(1, 5)
1
choice()
choice 메서드는 list, set 또는 str과 같은 반복 가능한 객체에서 무작위로 선택된 요소를 반환합니다:
random.choice([1, 2, 3, 4])
1
random.choice([1, 2, 3, 4])
2
random.choice([1, 2, 3, 4])
4
random.choice([1, 2, 3, 4])
4
shuffle()
shuffle 메서드는 반복 가능한 객체를 받아 섞습니다:
my_list = [1, 2, 3, 4]
# 리스트를 제자리에서 섞기
random.shuffle(my_list)
my_list
[1, 4, 3, 2]
random.shuffle(my_list)
my_list
[2, 4, 3, 1]
random.shuffle(my_list)
my_list
[4, 2, 3, 1]
sample()
random.sample(iterable, k: int)
sample은 반복 가능한 객체에서 무작위로 선택된 요소들로 구성된 리스트를 반환합니다. 반환되는 요소의 수는 k 매개변수와 같습니다:
# 리스트에서 k 개의 요소를 무작위로 샘플링
random.sample([1, 2, 3, 4], 1)
[3]
random.sample([1, 2, 3, 4], 2)
[3, 4]
random.sample([1, 2, 3, 4], 3)
[4, 3, 2]
random.sample([1, 2, 3, 4], 4)
[1, 2, 4, 3]
random()
random 메서드는 0.0 과 1.0 사이의 무작위 부동 소수점 숫자를 반환합니다:
random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315
uniform()
uniform 메서드는 randint와 유사하지만 부동 소수점 숫자를 반환합니다:
random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273