擅长:python、mysql、java
<p>i=9,因为循环实际上已经运行了9次。在</p>
<p>所发生的是,每次在生成器上调用next()时,它都会在上一次生成之后继续执行。在</p>
<p>第一次调用next()时,在createGenerator()中执行以下行</p>
<pre><code>mylist = [ 'alpha', 'beta', 'carotene' ]
for i in mylist:
yield i, "one"
</code></pre>
<p>第一个收益率回报(“α”,“一”)。此时,执行返回到for循环并打印。在for循环的下一次迭代中,执行返回到createGenerator(),从上一次生成之后开始。执行以下行:</p>
^{pr2}$
<p>返回(“alpha”,“two”)并在for循环中打印。当生成器没有更多的值要返回时,for循环结束,当i==“carbonote”和“three”被生成时</p>