任何只计算所需值的函数

问题描述 投票:-1回答:1

以下代码需要27秒才能在我的机器上执行。

any([i==0 for i in range(100000000)])

原因是因为python在应用any之前计算整个列表。我想要一个只根据需要计算列表的任何函数。

我知道你可以这样做

value=false
for i in range(100000000):
    if i==0:
        value=true
        break

但我正在寻找一个班轮。

python lambda
1个回答
1
投票

删除[]使其成为生成器表达式,问题解决了:

any(i == 0 for i in range(100000000))

对于Python 2,请使用生成器版本xrange而不是range

© www.soinside.com 2019 - 2024. All rights reserved.