考虑以下 python 指令
any([condition(element) for element in some_list])
一旦
condition(element)
是True
,它是否被优化为停止,或者在构建了整个布尔值列表后应用any
?
如果创建了整个列表,除了编写一个显式循环之外,是否有办法避免它?
根据文档https://docs.python.org/3/library/functions.html#any any 是这样的:
def any(iterable):
for element in iterable:
if element:
return True
return False
所以它已经优化了