반응형
random 모듈이란?
파이썬의 내장 모듈로, 난수(무작위) 값을 활용하고 싶을 때 사용한다.
단순히 랜덤 값을 뽑아 내는 것 말고도 여러 기능이있다.
random import
random은 파이썬 내장 모듈이라서 따로 설치가 필요하지 않다.
import random
아래 부터는 random 모듈에서 많이 사용하는 메서드에 대해 알아보자.
random()
0 ~ 1 사이의 실수(float)를 반환한다.
import random
ran = random.random()
print(ran)
결과
0.2396030252136816
randint(최소, 최대)
최소 부터 최대 사이의 랜덤 한 정수 값 반환
import random
ran = random.randint(1,10)
print(ran)
결과
8
randrange(최소, 최대, 간격)
최소 부터 최대 사이의 지정된 간격 만큼의 숫자를 반환한다.
아래예제는 1, 4, 7, 10 중에서 반환된다.
import random
ran = random.randrange(1,12,3)
print(ran)
결과
7
uniform(최소, 최대)
최소 부터 최대 사이의 랜덤한 실수(float) 반환
import random
ran = random.uniform(1,12)
print(ran)
결과
8.637133028401196
choice(컬렉션)
컬렉션 값 중 하나를 반환한다.
아래 예제 처럼 str1 리스트의 a,b,c,d 문자열 중 하나가 랜덤으로 반환된다.
import random
str1 = ["a", "b", "c", "d"] #리스트
ran = random.choice(str1)
print(ran)
결과
b
choices(컬렉션, 가중치, 샘플 수)
choices는 컬렉션 중에서 랜덤한 값을 뽑을 때 가중치를 사용해서 리스트의 특정 요소의 확률을 높일 수 있다.
가중치 속성은 weights 다.
샘플 수는 결과 값 갯수이며, 속성은 k 다.
import random
str1 = ["a", "b", "c", "d"] #리스트
ran = random.choices(str1, weights = [6,1,1,1], k = 20)
print(ran)
결과
['b', 'a', 'c', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'a', 'a', 'a', 'c', 'b', 'a', 'a']
결과를 보면 가중치가 높은 a가 많이 출력 된 것을 확인 할 수 있다.
suffle(컬렉션)
shuffle은 리스트의 요소를 랜덤으로 섞어준다.
import random
str1 = ["a", "b", "c", "d"] #리스트
random.shuffle(str1)
print(str1)
결과
['c', 'b', 'a', 'd']
sample(컬렉션)
리스트의 값 중 지정한 개수만 랜덤으로 추출 해준다.
import random
str1 = ["a", "b", "c", "d"] #리스트
ran = random.sample(str1,3)
print(ran)
결과
['d', 'a', 'b']
반응형