스택큐힙리스트

파이썬에서 랜덤 부울 값 가져오기? 본문

카테고리 없음

파이썬에서 랜덤 부울 값 가져오기?

스택큐힙리스트 2023. 4. 24. 01:10
반응형

파이썬에서 랜덤한 불리언 값을 얻는 가장 좋은 방법 (빠르고 우아한)을 찾고 있습니다 (동전 던지기).

현재 나는 random.randint(0, 1) 또는 random.getrandbits(1)를 사용하고 있습니다.

제가 알지 못하는 더 나은 선택지가 있나요?

답변 1

아담의 대답은 꽤 빨랐지만, 나는 random.getrandbits(1)가 훨씬 더 빠름을 발견했습니다. 당신이 정말로 long 대신 boolean을 원한다면

import random

bool(random.getrandbits(1))

아직도 random.choice([True, False])보다 두 배 정도 빠릅니다.

두 가지 해결책 모두 import random해야 합니다.

최고 속도가 우선 사항이 아니라면 random.choice가 분명 더 잘 읽힙니다.

random.choice()는 속성 검색으로 인해 from random import choice 이후 choice()보다 느립니다.

$ python3 --version

Python 3.9.7

$ python3 -m timeit -s from random import choice choice([True, False])

1000000 loops, best of 5: 376 nsec per loop

$ python3 -m timeit -s from random import choice choice((True, False))

1000000 loops, best of 5: 352 nsec per loop

$ python3 -m timeit -s from random import getrandbits getrandbits(1)

10000000 loops, best of 5: 33.7 nsec per loop

$ python3 -m timeit -s from random import getrandbits bool(getrandbits(1))

5000000 loops, best of 5: 89.5 nsec per loop

$ python3 -m timeit -s from random import getrandbits not getrandbits(1)

5000000 loops, best of 5: 46.3 nsec per loop

$ python3 -m timeit -s from random import random random() < 0.5

5000000 loops, best of 5: 46.4 nsec per loop

답변 2

일반적으로 프로그래밍에서 불린(boolean) 값은 참(True) 또는 거짓(False)의 값을 가지는 데이터 타입입니다. 이러한 값은 논리연산에서 매우 중요한 역할을 하며, 프로그래밍 언어마다 각각의 표기법이 있지만, 파이썬에서는 bool이라는 데이터 타입으로 표현됩니다.

파이썬에서는 거짓(False)과 참(True) 값을 가지는 불린 타입의 데이터를 쉽게 생성할 수 있습니다. 이를 위해서는 random 라이브러리를 사용하여 랜덤 함수를 호출하는 것이 필요합니다. 랜덤 함수는 말 그대로 무작위로 값을 반환하므로, 불린 타입의 데이터도 임의로 생성할 수 있습니다.

random 라이브러리의 randint 함수를 사용하여 0과 1 사이의 무작위 정수 값을 가져온 다음, 이 값을 bool 함수를 사용하여 불린 타입으로 변환할 수 있습니다. 예를 들어, 다음과 같은 코드를 사용하여 무작위로 참(True) 또는 거짓(False) 값을 반환할 수 있습니다.

import random

random_bool = bool(random.randint(0, 1))

위의 코드에서는 random_bool 변수에 랜덤 함수를 호출하여 불린 타입의 데이터를 생성합니다. 랜덤 함수는 randInt를 이용해 0과 1사이의 수를 임의로 반환하고, bool 함수를 통해 이를 참(True) 또는 거짓(False)으로 반환합니다.

따라서 파이썬에서는 매우 쉽게 불린 타입의 임의의 값을 생성할 수 있으며, 이를 활용하여 다양한 프로그래밍 문제를 해결할 수 있습니다. 이처럼 파이썬의 random 라이브러리를 이용하면, 불린 타입 뿐만 아니라 다양한 데이터 형식에 대해서도 랜덤하게 값을 생성할 수 있으며, 이는 프로그래밍에서 매우 유용합니다.

반응형
Comments