Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于AND或or条件组合布尔值列表_Python_List_Boolean - Fatal编程技术网

Python 基于AND或or条件组合布尔值列表

Python 基于AND或or条件组合布尔值列表,python,list,boolean,Python,List,Boolean,对于基于或的两个布尔值列表的组合,可以使用np.logical\u或,可以使用np.logical\u和完成相似性和 但是,如果我有一个包含10个布尔值列表的列表,并且希望使用and或or组合它们,那么我找不到一个简单的方法来实现这一点 你能建议一下最有效的方法吗 编辑: 或输出:[True,True,False,True,False] 和输出:[真,假,假,假,假] 谢谢, 杰克这是一个没有numpy的解决方案 >>> booleans = [[True, True, Fal

对于基于或的两个布尔值列表的组合,可以使用
np.logical\u或
,可以使用
np.logical\u和
完成相似性和

但是,如果我有一个包含10个布尔值列表的列表,并且希望使用and或or组合它们,那么我找不到一个简单的方法来实现这一点

你能建议一下最有效的方法吗

编辑:

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

和输出:
[真,假,假,假,假]

谢谢,
杰克

这是一个没有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]
>>> 

你能添加一个输入->输出的例子吗?你在这里组合列表是什么意思?如果你想要一个NumPy数组作为输出,请使用
NumPy.logical\u和.reduce
-或者更一般地说。我评论的可能重复,因为如果OP使用NumPy,这是重复的多次
np。任何
np。所有
都完成了同样的事情。如果您能演示如何将函数
f
传递到
map
@wheaties的周围结构中,那么这个解决方案也会对列表进行两次压缩,而这很容易做到一次。@RoadRunner从“使用and和or”的问题开始-似乎没有必要同时做这两件事。
>>> 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]
>>>