如何在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 但它返回我错误的答案。
答
>>> 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
)。
谢谢,它工作正常! –