Ich war neugierig, wie die Geschwindigkeit der numpy-Antwort im Vergleich zu den anderen Antworten abschneidet, da dies bei den Vergleichen nicht berücksichtigt wurde. Um ein zufälliges bool zu generieren, ist dies viel langsamer, aber wenn man viele generieren wollte, wird dies viel schneller:
$ python -m timeit -s "from random import random" "random() < 0.5"
10000000 loops, best of 3: 0.0906 usec per loop
$ python -m timeit -s "import numpy as np" "np.random.randint(2, size=1)"
100000 loops, best of 3: 4.65 usec per loop
$ python -m timeit -s "from random import random" "test = [random() < 0.5 for i in range(1000000)]"
10 loops, best of 3: 118 msec per loop
$ python -m timeit -s "import numpy as np" "test = np.random.randint(2, size=1000000)"
100 loops, best of 3: 6.31 msec per loop