Data Analysis

Python/기초다지기

[Python] random 모듈

Holy_Water 2022. 11. 7. 18:06

random 모듈이란?

Python에서 난수(random number)를 구할 수 있는 모듈입니다.
random 모듈은 import random 한 뒤, random.함수이름() 을 통해 random 모듈에 존재하는 함수들을 가져와 사용할 수 있습니다.

 

 

import random

random.random()
(0.0 <= x < 1.0) 범위의 랜덤한 실수(float)를 반환합니다.

x = random.random()

print(x)  # 0.00000~0.999999...

random.uniform(a,b)

 

( a <= x <= b ) 범위의 랜덤한 실수(float)를 반환합니다.

x = random.random(10, 20)

print(x)  # 10.00000 <= x <= 20.00000

random.randrange(a,b)

x = random.randint(10, 20)

print(x)  # 10 <= x <= 20

random.shuffle(seq)
random.shuffle(seq) 함수는 순서형 자료(sequence)를 뒤죽박죽으로 섞어놓는 함수입니다.
random.suffle(seq) 의 반환은 없고, 인자로 들어온 리스트 내부의 데이터를 무작위로 섞습니다.
매개변수에는 시퀀스 데이터 타입이 들어가게 됩니다. 하지만 내부의 값을 무작위로 바꿔야 하기 때문에 내부인자를 변경할 수 있는 리스트만 가능하게 됩니다. (문자열, 튜플 및 range(a,b)는 불가능)

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(arr) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

random.shuffle(arr) # 랜덤셔플

print(arr) # [10, 5, 6, 7, 8, 9, 2, 3, 4, 1] 무작위로 변경됨.

random.choice(seq)
random.choice(seq) 함수는 매개변수로 seq 타입을 받아 무작위로 하나의 원소를 뽑는 함수입니다.
seq 타입은 문자열, 튜플, range, 리스트 타입들을 말합니다.

x1 = random.choice('BlockDMask')

print(x1) # 'BlockDMask' 문자열중 랜덤한 문자를 반환