Python

[Python] 파이썬 random(랜덤) 모듈 사용법

Let it out 2024. 3. 20. 12:04

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, 3, 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']

 

반응형