2024-03-29 11:28:26 发布
网友
有没有方法可以比较列表元素并返回结果值? 下面是python代码片段,它在其中接收两个值并返回值。在
def logical_or_decision(a,b): return a or b value = logical_or_decision(1,0) print value
我需要使其通用并可扩展到2个以上元素。如何我能做超过2个元素吗?在
最佳解决方案^^^以上^ ^:
any([True, False, True]) # returns True
any很好,因为“短路”(比如“布尔快速求值”直到结束都不会迭代)。在
any
如果您想要相同的东西,但需要手动和急切-请参见reduce:
有一个内置函数可以做到这一点:any。在
>>> any([0,0,1,0]) True >>> any([0,0,0]) False
您可以使用reduce来执行此操作:
reduce
def logical_or_decision(*args): return reduce( lambda a, b: a or b, args, False ) print logical_or_decision(1, 1, 1, 0) # False
当然,您可以使用any或all(用于逻辑AND),但是{}可以为您提供构建此类操作的一般方法(不是针对OR或{})。在
all
AND
OR
最佳解决方案^^^以上^ ^:
any
很好,因为“短路”(比如“布尔快速求值”直到结束都不会迭代)。在如果您想要相同的东西,但需要手动和急切-请参见reduce:
^{pr2}$有一个内置函数可以做到这一点:
any
。在您可以使用
reduce
来执行此操作:当然,您可以使用}可以为您提供构建此类操作的一般方法(不是针对})。在
any
或all
(用于逻辑AND
),但是{OR
或{相关问题 更多 >
编程相关推荐