모듈 소개
- random 모듈은 의사 난수를 생성하는 모듈입니다.
- python 2,3 지원
설치 방법
//python2
pip install random
//python3
pip3 install random
함수 설명
- random()
import random
print random.random()
0.5476650935722526
random() 함수는 0~1 사이의 실수를 출력합니다. 범위 : [0.0, 1.0)
- uniform(a,b)
import random
print random.uniform(50,100)
96.7284069027
uniform(a,b)는 a와 b사이의 실수를 출력합니다.
- random.randrange(stop)
- random.randrange(start, stop)
import random
print random.randrange(100)
print random.randrange(50,100)
23
58
randrange(stop)은 stop보다 작은 양의 정수를 출력합니다.
randrange(start, stop)은 start와 같고 stop보다 작은 양의 정수를 출력합니다.
- triangular(low, high)
import random
arr = [0 for _ in range(10)]
for i in range(10000):
arr[int(random.triangular(0,10))] += 1
print arr
[192, 601, 985, 1375, 1822, 1772, 1383, 1045, 617, 208]
triangular(low, high)는 low와 high사이의 실수중 중앙값이 자주나오도록 출력합니다.
현재 예시에는 4~5의 값이 가장 많은 빈도로 생성됨.
- choice(seq)
import random
arr = ['apple', 'banana', 'cake', 'drink']
print random.choice(arr)
banana
choice(seq)는 비어있지 않은 seq에서 랜덤으로 하나의 element를 선택합니다.
- sample(seq, k)
import random
arr = ['apple', 'banana', 'cake', 'drink', 'egg', 'froyo', 'gingerbread']
print random.sample(arr, 5)
['froyo', 'apple', 'egg', 'banana', 'cake']
sample(seq, k)는 seq중 k개의 element를 뽑아 새로운 list를 반환합니다.
k가 len(seq)보다 클 경우 ValueError발생.
- shuffle(x)
import random
arr = range(10)
print arr
random.shuffle(arr)
print arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 8, 1, 6, 0, 7, 9, 5]
shuffle(x)는 시퀀스 x의 배열순서를 랜덤으로 섞어줍니다.
- getrandbits(k)
import random
print random.getrandbits(4)
6
getrandbits(k)는 랜덤한 k bit의 수를 출력합니다.
- seed(a)
import random
random.seed(1)
print random.random()
random.seed('HelloRandom')
print random.random()
random.seed('\x41')
print random.random()
random.seed('A')
print random.random()
0.134364244112
0.965019574744
0.13530141966
0.13530141966
seed(a)는 Random Number Generator를 초기화 하는 seed를 설정합니다.
str, byte, bytearray, int등 여러 형태가 올 수 있으며, 모두 int형으로 치환되어 적용됩니다.
따라서 위의 예시에서 '\x41'과 'A'가 같은 seed로 적용된 것을 볼 수 있습니다.
'Develop > Python' 카테고리의 다른 글
[python] 리뉴얼된 업비트 api로 암호화폐 가격 조회, 거래하기 (0) | 2020.05.08 |
---|---|
python requests로 접속시 나의 ip확인하는 방법 (0) | 2020.03.30 |
python tensorflow trouble shooting (0) | 2020.02.05 |
[크롤링] python webdriver로 크롬창 열기 (selenium) (0) | 2020.01.26 |