60 of 151 menu

random 모듈의 sample 메서드

random 모듈의 sample 메서드는 시퀀스에서 요소를 무작위로 샘플링하여 반환합니다. 메서드의 첫 번째 매개변수에는 시퀀스를, 두 번째 매개변수에는 무작위로 선택하려는 요소의 개수를 지정합니다.

세 번째 선택적 키워드 매개변수 k를 통해 반복을 위한 요소 목록을 설정할 수 있습니다. 이를 통해 지정된 요소가 샘플링될 확률을 높일 수 있습니다. 이 메서드의 세 번째 매개변수는 Python 3.9 버전부터 추가되었음에 유의하세요.

구문

import random random.sample(시퀀스, 요소_개수, [k=반복])

예제

리스트에서 무작위로 세 요소를 가져와 봅시다:

lst = [1, 2, 3, 4, 5] print(random.sample(lst, 3))

코드 실행 결과:

[2, 1, 5]

예제

튜플에서도 무작위 요소를 샘플링해 봅시다:

tpl = (1, 2, 3, 4, 5) print(random.sample(tpl, 2))

코드 실행 결과:

[3, 2]

예제

range 함수가 생성하는 시퀀스에서도 요소를 선택할 수 있습니다:

print(random.sample(range(0, 10), 3))

코드 실행 결과:

[0, 8, 9]

예제

이제 리스트를 가져와 counts 매개변수를 사용하여 리스트의 각 요소에 대한 반복 횟수를 지정해 봅시다. 첫 번째 요소는 두 번, 두 번째 요소는 세 번, 세 번째 요소는 네 번 반복되도록 해보겠습니다. 또한 출력할 요소 개수를 지정하기 위해 k 매개변수 이름을 명시해야 합니다:

lst = [1, 2, 3] print(random.sample(lst, counts=[2, 3, 4], k=3))

이 코드는 다음 코드와 동일합니다:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # 실제로는 이 리스트와 같음 print(random.sample(lst, 3))

예제

이번에는 세트에서 요소를 가져와 보려고 합니다:

st = {1, 2, 3, 4, 5} print(random.sample(st, 2))

다음 오류가 반환됩니다:

[5, 2] DeprecationWarning: Sampling from a set deprecated since Python 3.9 and will be removed in a subsequent version. print(random.sample(st, 2))

이는 Python 3.9 버전부터는 세트에서 샘플링하는 기능이 제공되지 않기 때문입니다.

함께 보기

  • 시퀀스에서 무작위 요소 하나를 반환하는 random 모듈의 choice 메서드
  • 난수를 반환하는 random 모듈의 random 메서드
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부