如何在python中总结两个布尔值列表?

问题描述:

,比如我有两个列表:如何在python中总结两个布尔值列表?

a=[True,False,True,False] 
b=[False,True,False,True] 

我想回到这个:

c=[a[0] and b[0],a[1] and b[1],a[2] and b[2],a[3] and b[3]] 

,所以我将有

c=[False,False,False,False] 

我知道我能做到循环使用 '对于' ,但这是最简单的方法吗? 我试过 a和b 但它返回我错误的答案。

List-Comprehensionzip()

>>> a=[True,False,True,False] 
>>> b=[False,True,False,True] 
>>> [i and j for i, j in zip(a,b)] 
[False, False, False, False] 

zip()函数有两个(或更多)列表(或迭代),并采取从每个第一个,并将它们一起,并且随后转到第二,并将它们一起等(如拉链)

对于长度不一致的列表,您需要itertools包中的izip_longest()。它将继续压缩并将关键字fillvalue设置为默认值(默认值为None)。

+0

谢谢,它工作正常! –