일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 사이버보안
- I'm Sorry
- 소프트웨어
- 코딩
- 빅데이터
- 프로그래밍
- 데이터과학
- 컴퓨터공학
- 컴퓨터과학
- 네트워크
- 데이터분석
- 웹개발
- 클라우드컴퓨팅
- 보안
- 인공지능
- 버전관리
- 컴퓨터비전
- 네트워크보안
- 파이썬
- 딥러닝
- 자바스크립트
- 프로그래밍언어
- 알고리즘
- 소프트웨어공학
- 데이터베이스
- Yes
- 자료구조
- 머신러닝
- 2
- 데이터구조
- Today
- Total
스택큐힙리스트
파이썬에서 랜덤 부울 값 가져오기? 본문
파이썬에서 랜덤한 불리언 값을 얻는 가장 좋은 방법 (빠르고 우아한)을 찾고 있습니다 (동전 던지기).
현재 나는 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 라이브러리를 이용하면, 불린 타입 뿐만 아니라 다양한 데이터 형식에 대해서도 랜덤하게 값을 생성할 수 있으며, 이는 프로그래밍에서 매우 유용합니다.