python:将列表项赋值为true和false

python:将列表项赋值为true和false,python,Python,我有一个Python列表,我想将True和False值的所有可能组合分配给列表中的所有元素 假设我有一个列表list1=['a','b'],所以我想要一个新的列表[['t','t','f'],['f','t'],['f','f']]],它们都是给定列表项的True和False值的可能组合 如果给定列表中有n元素,则新列表中应该有2^n元素,并且每个内部列表都应该包含n元素作为“t”或“f” 如何实现这一点?使用itertools.product >>> import itert

我有一个Python列表,我想将
True
False
值的所有可能组合分配给列表中的所有元素

假设我有一个列表
list1=['a','b']
,所以我想要一个新的列表
[['t','t','f'],['f','t'],['f','f']]]
,它们都是给定列表项的
True
False
值的可能组合

如果给定列表中有
n
元素,则新列表中应该有
2^n
元素,并且每个内部列表都应该包含
n
元素作为“t”或“f”


如何实现这一点?

使用
itertools.product

>>> import itertools
>>> list(itertools.product(["t", "f"], repeat=2))
[('t', 't'), ('t', 'f'), ('f', 't'), ('f', 'f')]
>>> list(itertools.product(["t", "f"], repeat=3))
[('t', 't', 't'), ('t', 't', 'f'), ('t', 'f', 't'), ('t', 'f', 'f'), ('f', 't', 't'), ('f', 't', 'f'), ('f', 'f', 't'), ('f', 'f', 'f')]
>>> #etc

查看
itertools.product

import itertools

true_or_false = list(itertools.produkt(*[['t','f']]*n))

这个问题以前被问过大概50亿次。非常感谢凯文。但是新列表我希望它是嵌套的列表格式。我应该怎么做呢?如果你的意思是“如何获得列表列表而不是元组列表?”,那么你可以做
list\u of\u list=map(list,list\u of\u tuples)
。谢谢丹尼尔的帮助