在Python中生成所有可能的变量值

Mor*_*nic 2 python

获得以下内容的最pythonic方式是什么:

(False, False, False)
(False, False, True)
(False, True, False)
(False, True, True)
...
Run Code Online (Sandbox Code Playgroud)

我有n变量,每个变量值,True或者False我如何组合它们?我正在考虑使用range(n)然后检查生成的整数的位,但这似乎太hacky.

wim*_*wim 10

可能最简单:

>>> list(itertools.product([False, True], repeat=3))

[(False, False, False),
 (False, False, True),
 (False, True, False),
 (False, True, True),
 (True, False, False),
 (True, False, True),
 (True, True, False),
 (True, True, True)]
Run Code Online (Sandbox Code Playgroud)