본문 바로가기
프로그래밍/[Python] 파이썬

[Python] 파이썬 자주 사용하는 random 모듈 함수들

by GenieIT* 2025. 1. 4.
728x90
반응형
728x90
반응형

 

random()

기능: 0.0 이상 1.0 미만의 부동소수점(float) 난수를 반환.

import random

print(random.random())  # 예: 0.40362543893936054

 


 

uniform(a, b)

기능: [a, b] 범위 내에서 부동소수점 난수를 반환.

import random

print(random.uniform(1.5, 6.5))  # 예: 2.5531402611018037

 


 

randint(a, b)

기능: [a, b] 범위 내에서 정수 난수를 반환. a와 b 모두 포함.

import random

print(random.randint(1, 10))  # 예: 7

 


 

randrange(start, stop[, step])

기능: start부터 stop까지 step 간격으로 범위를 나눈 값 중 난수를 반환. stop은 포함되지 않음.

import random

print(random.randrange(0, 10, 2))  # 예: 4

 


 

choice(sequence)

기능: 시퀀스(sequence) 자료형에서 임의의 요소를 반환.

import random

items = ['apple', 'banana', 'cherry']
print(random.choice(items))  # 예: 'banana'

 


 

choices(population, weights=None, *, k=1)

기능: 모집단(population)에서 가중치를 고려한 선택을 통해 k개의 요소를 반환.

import random

items = ['red', 'blue', 'green']
print(random.choices(items, weights=[5, 1, 1], k=3))  # 예: ['red', 'red', 'green']

 


 

sample(population, k)

기능: 모집단에서 중복 없이 k개의 요소를 반환.

import random

items = [1, 2, 3, 4, 5]
print(random.sample(items, 3))  # 예: [4, 1, 3]

 


 

shuffle(x[, random])

기능: 리스트의 요소들을 제자리에서 섞음. 반환값 없음.

import random

items = [1, 2, 3, 4, 5]
random.shuffle(items)
print(items)  # 예: [3, 5, 1, 4, 2]

 


 

gauss(mu, sigma)

기능: 평균 mu와 표준편차 sigma를 갖는 정규분포 난수를 반환.

import random

print(random.gauss(0, 1))  # 예: -1.1847808834135938

 


 

expovariate(lambd)

기능: 평균이 1/lambd인 지수분포 난수를 반환.

import random

print(random.expovariate(1.5))  # 예: 0.6989437859438148

 


 

betavariate(alpha, beta)

기능: 베타분포를 따르는 난수를 반환. alpha > 0, beta > 0

import random

print(random.betavariate(0.5, 0.5))  # 예: 0.3325061732727783

 


 

triangular(low, high, mode)

기능: 삼각분포를 따르는 난수를 반환

import random

print(random.triangular(0, 10, 5))  # 예: 7.049394027672632

 


 

seed(a=None, version=2)

기능: 난수 생성기의 초기 상태를 설정. 동일한 시드를 사용하면 동일한 난수 시퀀스를 생성.

import random

random.seed(10)
print(random.random())  # 항상 같은 결과 반환: 0.5714025946899135

 


 

 

 

 

 

728x90
반응형