and
并or
返回他们评估的最后一个元素,但为什么不是Python的内置函数any
?
我的意思是这样实现自己很容易,但我仍然想知道为什么.
def any(l):
for x in l:
if x:
return x
return x
Run Code Online (Sandbox Code Playgroud)
编辑:
要添加到下面的答案,这里是你们强大的皇帝在同一个邮件列表中的实际引用:
是否总是返回True和False或第一个faling/passing元素?我在博客之前也玩过它,并且意识到最终的情况(如果序列是空的或者所有元素都没有通过测试)永远不能令人满意:如果参数是可迭代的bool,那么选择None会感觉很奇怪,并且如果参数是非bool对象的可迭代,那么选择False会感觉很奇怪.
Guido van Rossum(主页:http://www.python.org/~guido/)