Python

[Python] 리스트 랜덤 추출 (샘플링)

비번변경 2023. 1. 22. 19:22

개요

리스트 내 요소를 무작위로 추출하는 방법에 대해 알아본다.

 

 

random

Python 표준 라이브러리로 의사 난수 생성기를 구현한다.  별도 설치 없이 import 하여 사용할 수 있다.

import random

 

 

하나만 추출

random.choice 함수를 리스트 내 임의의 요소 하나를 반환한다. 다만 매개변수로 전달한 리스트가 비어있으면 IndexError를 발생시킨다.

random.choice(range(10))

# 실행 결과
7

 

 

중복 허용하면서 여러 개 추출

random.choices 함수는 리스트 내 k개의 요소를 선택해 리스트로 반환한다. 선택 시 값 중복을 허용한다.

random.choices(range(10), k=5)

# 참고 문서
[8, 8, 2, 2, 0]

Python 3.6부터 지원한다.

 

 

중복 없이 여러 개 추출

random.sample 함수는 리스트 내 k개 요소를 선택해 리스트로 반환한다. 선택 시 값 중복을 허용하지 않는다.

random.sample(range(10), k=5)

# 실행 결과
[9, 0, 7, 1, 8]

 

 

참고 문서

https://docs.python.org/ko/3/library/random.html