擅长:python、mysql、java
<p>马克·拜尔斯完美地回答了这个问题。在</p>
<p>作为补充说明。<br/>
在Python2.x中,如果将方括号改为parens(创建生成器表达式而不是列表理解),您将注意到控制变量是<em>而不是</em>泄漏的。在</p>
<pre><code>>>> i = 6
>>> s = (i for i in range(100))
>>> print i
6
</code></pre>
<p>对比</p>
^{pr2}$
<p>(当然,在Python3中,这是固定的,并且列表理解不再是泄漏控制变量)</p>