python中怎么对一组逻辑变量求“或”?
比如一个列表x,里面有10个元素,x=[x1, x2, ...],如果要对所有的元素求或运算,就需要写很长的式子
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10
有什么简便的方法吗?
2个回答
对于或运算,只要有一个是True,整个就是True了
>>> x = [True, False, True, False, False]
>>> True in x
True
也可以看整个list中的最大值
>>> x = [True, False, True, False, False, False, False]
>>> max(x)
True
SofaSofa数据科学社区DS面试题库 DS面经也可以用numpy的any函数
Examples
--------
>>> np.any([[True, False], [True, True]])
True
>>> np.any([[True, False], [False, False]], axis=0)
array([ True, False])
>>> np.any([-1, 0, 5])
True
>>> np.any(np.nan)
True
>>> o=np.array([False])
>>> z=np.any([-1, 4, 5], out=o)
>>> z, o
(array([ True]), array([ True]))
>>> # Check now that z is a reference to o
>>> z is o
True
>>> id(z), id(o) # identity of z and o # doctest: +SKIP
(191614240, 191614240)