1. 무작위 정수추출
randint(start, stop)
start 이상 stop 이하 범위의 정수 난수 생성
for i in range(10):
print(i+1, 'th pick',random.randint(1, 10))
1 th pick 7
2 th pick 4
3 th pick 1
4 th pick 4
5 th pick 2
6 th pick 5
7 th pick 4
8 th pick 9
9 th pick 1
10 th pick 9
randrange(start, stop,step)
start 이상 stop 미만 step간격의 리스트에서 무작위 추출
for i in range(10):
print(i+1, 'th pick',random.randrange(1, 10,3))
1 th pick 7
2 th pick 4
3 th pick 1
4 th pick 1
5 th pick 4
6 th pick 1
7 th pick 1
8 th pick 4
9 th pick 1
10 th pick 7
2. 리스트순서 섞기
shuffle(list)
리스트의 순서를 무작위로 섞어 반환
abcd = alpha_list[:4]
print(abcd)
for i in range(5):
random.shuffle(abcd)
print(i+1, 'th pick',abcd)
['a', 'b', 'c', 'd']
['c', 'a', 'd', 'b']
['d', 'a', 'b', 'c']
['d', 'a', 'c', 'b']
['a', 'c', 'd', 'b']
['b', 'a', 'd', 'c']
3. 리스트에서 무작위 1개 추출
choice(list)
print(alpha_list)
for i in range(10):
print(i+1, 'th pick',random.choice(alpha_list))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
1 th pick d
2 th pick f
3 th pick g
4 th pick a
5 th pick e
6 th pick f
7 th pick e
8 th pick a
9 th pick g
10 th pick c
가중치까지 부여
choices(list, weight_list)
print(alpha_list)
weight = list(range(1,11))
print(weight)
for i in range(10):
print(i+1, 'th pick',random.choices(alpha_list,range(10)))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1 th pick ['g']
2 th pick ['j']
3 th pick ['h']
4 th pick ['i']
5 th pick ['c']
6 th pick ['h']
7 th pick ['g']
8 th pick ['f']
9 th pick ['f']
10 th pick ['j']
각각 가중치 부여 뒷쪽 알파벳에 가중치가 높아 뒷쪽이 많이 뽑힘
4. 리스트에서 무작위 n개 추출
random.sample(list,n)
abcd = alpha_list[:4]
print(abcd)
for i in range(5):
print(i+1, 'th pick',random.sample(abcd,2))
['a', 'b', 'c', 'd']
['a', 'b']
['c', 'b']
['b', 'a']
['b', 'd']
['b', 'c']
'python 기초' 카테고리의 다른 글
[python 기초] 순열, 조합 (0) | 2021.12.28 |
---|---|
[python 기초] 알파벳 리스트만들기 string 모듈 (0) | 2021.12.21 |
[python 기초] 변수명에 format 사용 변수명 for문 (0) | 2021.12.06 |
[python기초] tqdm for문 예상속도, time (0) | 2021.12.06 |
[ python 기초 ] lambda, map, filter (0) | 2021.08.27 |