Python ::使用Python生成器
生成器函数使您可以声明行为类似于迭代器的函数。它们允许程序员以快速,轻松和干净的方式制作迭代器。让我们以一个例子来解释这个概念。
假设您已找到以1开头的前100000000个完美平方的总和。
看起来很简单吧?使用列表推导可以很容易地做到这一点,但是问题是输入量很大。作为示例,让我们看一下下面的代码:
t1 = time.clock()
sum([i * i for i in range(1, 100000000)])
t2 = time.clock()
time_diff = t2 - t1
print(f"It took {time_diff} Secs to execute this method")在增加我们需要求和的理想数时,我们意识到该方法由于更高的计算时间而不可行。这是Python生成器进行救援的地方。用括号替换括号时,我们将列表理解更改为生成器表达式。现在,我们来计算花费的时间:
t1 = time.clock()
sum((i * i for i in range(1, 100000000)))
t2 = time.clock()
time_diff = t2 - t1
print(f"It took {time_diff} Secs to execute this method")如我们所见,所花费的时间已大大减少。对于较大的输入,此效果将更加明显。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短