擅长:python、mysql、java
<p>生成器对象<em>是迭代器,因此是一个快照。它不是一个可以产生任意数量独立迭代器的<em>iterable</em>。这种行为不是你可以用开关改变的,所以任何解决方法都等于使用iterable(例如列表)而不是生成器,或者反复构造生成器。在</p>
<p>第二个片段执行后者。它在定义上等同于循环</p>
<pre><code>for i in (i*3 for i in range(100)):
for j in (i*7 for i in range(100)):
...
</code></pre>
<p>希望这并不奇怪,在这里,后一个生成器表达式在外循环的每次迭代中都会重新求值。在</p>