根据AND或OR条件合并布尔值列表

时间:2018-08-03 13:14:34

标签: python list boolean

要结合两个基于OR的布尔值列表,可以使用np.logical_or,并且可以使用np.logical_and完成相似性AND。

但是,如果我有一个包含10个布尔值列表的列表,并且想要使用AND或OR进行组合,那么我将找不到一种简便的方法。

能否请您提出最有效的方法?

编辑:

booleans = [[True, True, False, True, False], [True, False, False, False, False], [True, False, False, False, False]]

或输出:[True, True, False, True, False]

AND输出:[True, False, False, False, False]

谢谢, 杰克

1 个答案:

答案 0 :(得分:6)

这是没有numpy的解决方案

>>> booleans = [[True, True, False, True, False], [True, False, False, False, False], [True, False, False, False, False]]
>>> or_output = list(map(any, zip(*booleans)))
>>> and_output = list(map(all, zip(*booleans)))
>>> 
>>> print (or_output)
[True, True, False, True, False]
>>> print (and_output)
[True, False, False, False, False]
>>>