我在为学校做的Python项目上遇到了一些麻烦。我对Python的经验很少,这让我在确定如何解决这个问题方面遇到了一些麻烦 我需要创建2 ^ n布尔值的布尔值的所有可能状态(组合)。
因此,对于n = 3,我需要表示:
(True, False, False)
{
{1}} {
{1}}
等。最多8种组合。
但我真的不知道如何在python中这样做。我知道必须有嵌套for循环,并且我会将这些组合表示为列表列表,但这些都是我想出来的。有什么帮助吗?
答案 0 :(得分:4)
>>> import itertools
>>> n=3
>>> list(itertools.product([True, False], repeat=n))
[(True, True, True), (True, True, False), (True, False, True), (True, False, False), (False, True, True), (False, True, False), (False, False, True), (False, False, False)]
我知道教会你如何捕鱼会更好,所以我建议你阅读itertools docs,这很常见。