如何应用按位运算符来比较对象列表

glS*_*glS 2 python bitwise-operators

假设我有一个很长的对象列表(比如,bool元素的numpy矩阵列表)foo = [a, b, c],我想与一些按位运算符进行比较,得到类似的东西a | b | c.

如果我可以将这个按位操作用作函数,比如一个bitwiseor函数,我可以简单地使用bitwiseor(*foo).但是,我无法找到是否按位或以这种函数形式编写.

是否有一些方便的方法来处理这种问题?或者我应该使用循环来累积比较所有元素?

wim*_*wim 8

使用功能方法operator结合reduce:

>>> import operator, functools
>>> functools.reduce(operator.or_, [1,2,3])
3
Run Code Online (Sandbox Code Playgroud)