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

时间:2014-10-09 21:42:01

标签: python

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

(False, False, False)
(False, False, True)
(False, True, False)
(False, True, True)
...

我有n个变量,每个变量都取值TrueFalse,我该如何组合这些变量?我在考虑使用range(n),然后检查生成的整数位,但这看起来太糟糕了。

1 个答案:

答案 0 :(得分: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)]