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 爱生日祝福语简短独特