擅长:python、mysql、java
<p>如果你担心一行代码太复杂,你可以将其拆分:</p>
<pre><code>(k for k in
(j for j in
(i for i in xrange(10))))
</code></pre>
<p>我总是发现在Python中,行的连续性看起来有点奇怪,但这确实使我们更容易看到每个行的循环。因为额外的赋值/查找不会产生或破坏任何东西,所以您也可以这样编写:</p>
<pre><code>gen1 = (i for i in xrange(10))
gen2 = (j for j in gen1)
gen3 = (k for k in gen2)
</code></pre>
<p>在实践中,我认为我从未将理解嵌套超过2层,在这一点上,它仍然很容易理解。</p>