एडम का जवाब काफी तेज है, लेकिन मैंने पाया कि random.getrandbits(1)
काफी तेज होना है। यदि आप वास्तव में लंबे समय के बजाय एक बूलियन चाहते हैं
bool(random.getrandbits(1))
अभी भी लगभग दोगुना है random.choice([True, False])
दोनों समाधान की जरूरत है import random
यदि अधिकतम गति प्राथमिकता नहीं है, तो random.choice
निश्चित रूप से बेहतर पढ़ता है
$ python -m timeit -s "import random" "random.choice([True, False])"
1000000 loops, best of 3: 0.904 usec per loop
$ python -m timeit -s "import random" "random.choice((True, False))"
1000000 loops, best of 3: 0.846 usec per loop
$ python -m timeit -s "import random" "random.getrandbits(1)"
1000000 loops, best of 3: 0.286 usec per loop
$ python -m timeit -s "import random" "bool(random.getrandbits(1))"
1000000 loops, best of 3: 0.441 usec per loop
$ python -m timeit -s "import random" "not random.getrandbits(1)"
1000000 loops, best of 3: 0.308 usec per loop
$ python -m timeit -s "from random import getrandbits" "not getrandbits(1)"
1000000 loops, best of 3: 0.262 usec per loop # not takes about 20us of this
@ पावेल के उत्तर को देखने के बाद इसे जोड़ा गया
$ python -m timeit -s "from random import random" "random() < 0.5"
10000000 loops, best of 3: 0.115 usec per loop
not not random.getrandbits(1))
भी तेज हैbool
;)