python:将列表项赋值为true和false
我有一个Python列表,我想将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
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)
。谢谢丹尼尔的帮助