Python的迭代
开始使用python是会发现Python 的 for 循环不会像其他语言中的 for 循环那样工作。那么python的for循环底层工作原理是什么,以及为什么要这样设计(推测)。
循环的问题
我们将通过看一些“陷阱”开始我们的旅程,在我们了解循环如何在 Python 中工作之后,我们将再次看看这些问题并解释发生了什么。
问题 1:循环两次
设计一个数字列表和一个生成器,生成器会返回这些数字的平方:
>>> numbers = [1, 2, 3, 5, 7]
>>> squares = (n**2 for n in numbers)
可以将生成器对象传递给 tuple 构造器,从而使其变为一个元组:
>>> tuple(squares)
(1, 4, 9, 25, 49)```
如果