반응형
세트에서 random.choice? 파이썬
저는 추측 게임의 AI 부분을 작업하고 있습니다. AI가이 목록에서 임의의 문자를 선택하기를 원합니다. 게임에서 추측되는 문자를 목록에서 쉽게 제거 할 수 있으므로 더 이상 추측 할 수 없습니다.
set
개체가 색인을 생성 할 수 없다고 말합니다 . 이 문제를 어떻게 해결할 수 있습니까?
import random
aiTurn=True
while aiTurn == True:
allLetters = set(list('abcdefghijklmnopqrstuvwxyz'))
aiGuess=random.choice(allLetters)
print (aiGuess)
>>> random.sample(set('abcdefghijklmnopqrstuvwxyz'), 1)
['f']
문서 : https://docs.python.org/3/library/random.html#random.sample
을 사용해야합니다 random.choice(tuple(myset))
. 왜냐하면 random.sample
. 테스트를 위해 다음을 작성했습니다.
import random
import timeit
bigset = set(random.uniform(0,10000) for x in range(10000))
def choose():
random.choice(tuple(bigset))
def sample():
random.sample(bigset,1)[0]
print("random.choice:", timeit.timeit(choose, setup="global bigset", number=10000)) # 1.1082136780023575
print("random.sample:", timeit.timeit(sample, setup="global bigset", number=10000)) # 1.1889629259821959
숫자로 볼 때 random.sample
7 % 더 오래 걸리는 것 같습니다 .
참고 URL : https://stackoverflow.com/questions/15837729/random-choice-from-set-python
반응형
'IT박스' 카테고리의 다른 글
컨트롤러에서 HtmlHelper 사용 (0) | 2020.11.25 |
---|---|
소수점 정밀도 조정, .net (0) | 2020.11.25 |
arduino nano-avrdude : ser_open () : system ca n't open device“\\. \ COM1”: 시스템이 지정된 파일을 찾을 수 없습니다. (0) | 2020.11.24 |
RecyclerView 저장 / 활동 간 상태 복원 (0) | 2020.11.24 |
Go 용 Emacs 모드? (0) | 2020.11.24 |