对布尔列表中的元素布尔运算符是否有内置函数?

例如,如果你有n个相同长度的bool列表,那么elementwise boolean AND应该返回另一个列表,该列表的长度在所有输入列表都为True的位置为True,其他地方为False。 它很容易编写,我只是希望使用内置(如果存在)(为了标准化/可读性)。 这是元素AND的实现:
def eAnd(*args):
    return [all(tuple) for tuple in zip(*args)]
示例用法:
>>> eAnd([True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True])
[True, False, False, False, True]
    
已邀请:
没有内置的方法来做到这一点。一般来说,列表推导等是你在Python中进行元素操作的方式。 Numpy确实在其数组类型中提供了这个(使用
&
,技术限制)。 Numpy数组通常按元素执行操作。     
尝试:
[ x&y for (x,y) in zip(list_a, list_b)]
    
如果指定要折叠的尺寸,则
numpy.all
功能可以执行您想要的操作:
>>> all([[True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True]], 0)
array([ True, False, False, False,  True], dtype=bool)
    
不,没有这样的内置插件。使用
zip
all
/
any
的方法就是我要用的方法。     
不,我不相信标准库中有任何这样的功能......特别是当它根据提供的功能编写时非常容易。     

要回复问题请先登录注册