반응형
random 모듈
random는 난수를 발생 시키는 모듈이다. 모듈에는 여러 함수가 존재한다.
모듈 임포트
>>> import random
random() 함수
0.0에서 1.0 사이의 실수 중에서 난수값을 리턴
0.0 <= 리턴값 < 1.0
>>> random.random()
0.5176390829958308
uniform(a, b) 함수
괄호 안 두 수 사이의 실수 중에서 난수값을 리턴
a <= 실수 <= b
>>> random.uniform(10, 30)
25.770721429933218
>>> random.uniform(100, 200)
189.58393737567013
randint(a, b) 함수
괄호 안 두 수 사이의 정수 중에서 난수값을 리턴
a <= N <= b
>>> random.randint(1, 5)
3
>>> random.randint(100, 200)
125
randrange(start, stop, step) 함수
range(start, stop, step) 함수로 만들어지는 정수 중 난수값을 리턴
start <= 리턴값 < stop
>>> list(range(1, 15, 2))
[1, 3, 5, 7, 9, 11, 13]
>>> random.randrange(1, 15, 2)
9
>>> list(range(15, 35, 4))
[15, 19, 23, 27, 31]
>>> random.randrange(15, 35, 4)
19
random.choice(seq) 함수
매개변수로 시퀀스 타입(문자열, 튜플, 리스트)을 받음. 그중에서 무작위로 하나를 선택하여 리턴
>>> data = [1,2,3,4,5,6,7]
>>> random.choice(data)
3
>>> data = ['apple', 'banana', 'grape', 'orange']
>>> random.choice(data)
'orange'
>>> data = ['apple']
>>> random.choice(data)
'apple'
>>> random.choice('apple')
'p'
>>> random.choice('12345')
'1'
sample(seq or set, 뽑을 개수) 함수
입력으로 받은 시퀀스 타입(문자열, 튜플, 리스트) 또는 세트 타입 데이터에서 정한 개수만큼 무작위로 뽑아 리턴
>>> data = [1, 2, 3, 4, 'apple', 'banna']
>>> random.sample(data, 3)
[3, 'banna', 1]
>>> random.sample(data, 3)
[4, 3, 2]
>>> random.sample(data, 5)
['banna', 1, 2, 3, 'apple']
shuffle(리스트 타입) 함수
입력으로 받은 데이터 순서를 무작위로 바꿈.
변형 가능해야 하기 때문에 리스트만 가능. (튜플, range, 문자열 불가능)
다만, list() 로 바꾼다면 사용가능.
# 리스트 -> shuffle
>>> x = [1,2,3,4,5,6]
>>> random.shuffle(x)
>>> print(x)
[1, 2, 6, 3, 4, 5]
# 튜플 -> 오류
>>> x = (1,2,3,4,5)
>>> random.shuffle(x)
TypeError: 'tuple' object does not support item assignment
# range(a,b) -> 오류
>>> x = range(1, 10)
>>> random.shuffle(x)
TypeError: 'range' object does not support item assignment
# 문자열 -> 오류
>>> x = 'star'
>>> random.shuffle(x)
TypeError: 'str' object does not support item assignment
# 문자열 -> 리스트 변형 후 shuffle 가능
>>> x = 'star'
>>> y = list(x)
>>> random.shuffle(y)
>>> print(y)
['t', 's', 'a', 'r']
반응형
'컴퓨터 언어 > Python' 카테고리의 다른 글
[python 3] 미니콘다(miniconda)설치 후 환경변수 설정하기. (0) | 2020.03.27 |
---|---|
[ Python 3 ] Enumerate 함수란. (다양한 자료형 적용 예시) (0) | 2020.03.13 |
[Python 3] iterator 란 무엇인가. (0) | 2020.03.10 |
[Python 3] iterable 란 무엇인가. filter(), map(), zip(), sorted (0) | 2020.03.10 |
[Python 3] Range , sorted , sort 란 무엇인가. (0) | 2020.03.10 |