인프런 커뮤니티 질문&답변

김민규님의 프로필 이미지
김민규

작성한 질문수

프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)

쿠폰 코드 생성(Generator Coupon Code)

random.choices random.saple 중복 유무

해결된 질문

작성

·

16

0

 1. 질문하시기 전 유사한 질문이 있는지 검색을 먼저 부탁드려요!

  • 전체 소스코드를 올려주시면 답변을 빠르게 드릴 수 있어요!(글보다 빨라요)

  • 기초적인 질문은 이미 검색해보시면 사례가 많이 있어요!

  • 문법적인 궁금증은 먼저 구글 검색을 통해서 레퍼런스(메뉴얼)을 읽어보시고 해결하시면 실력 향상 100%

  • 너무 잦은 질문이나 강의와 관련 없는 질문은 가급적 자제 부탁드려요 ㅠ.ㅠ

2. 답변이 다소 늦을 수도 있어요!

  • 일반적인 근무시간(9 TO 6) 안에는 답변을 드리도록 노력하고 있어요!

  • 문법적인 질문은 먼저 검색을 통해 해결해 보세요!

  • 정확하게 질문해주시면 정확한 답변을 받으실 수 있어요!

  • 늦더라도 꼭 응답은 드리고 있으니, 먼저 검색을 통해 해결해 보세요!

random.sample(population, k, *, counts=None)

Return a k length list of unique elements chosen from the population sequence. Used for random sampling without replacement.

 

random.choices(population, weights=None, *, cum_weights=None, k=1)

Return a k sized list of elements chosen from the population with replacement.

 

python 공식 문서에는 sample 함수가 중복 없이 생성한다고 적혀 있는 것 같은데, 강의 자료나 강의 내에서는 choices 함수가 중복 없이 생성한다고 적혀 있어서 문의 드립니다

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 좋은 질문 감사합니다.

강의 내용을 확인 후 말씀하신 내용을 반영하겠습니다.

 

기본적인 차이점은 다음과 같습니다.

  • random.sample중복된 항목을 포함하지 않고 목록에서 여러 개의 무작위 항목을 선택하려면 이 함수를 사용합니다 .

  • random.choices반복되는 항목을 포함하여 목록에서 여러 항목을 선택할 때 함수를 사용합니다 .

차이점을 보여주는 두 가지 예는 다음과 같습니다.

import random

alpha_list=['Batman', 'Flash', 'Wonder Woman','Cyborg', 'Superman']

choices=random.choices(alpha_list,k=7)
print(choices)

sample= random.sample(alpha_list,k=3)
print(sample)

Output: ['Cyborg', 'Cyborg', 'Wonder Woman', 'Flash', 'Wonder Woman', 'Flash', 'Batman']
['Superman', 'Flash', 'Batman']
김민규님의 프로필 이미지
김민규

작성한 질문수

질문하기