要结合两个基于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]
谢谢, 杰克
答案 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]
>>>