回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我理解简单的列表理解是如何工作的,例如:</p>
<pre><code>[x*2 for x in range(5)] # returns [0,2,4,6,8]
</code></pre>
<p>我还了解嵌套列表压缩的工作原理:</p>
<pre><code>w_list = ["i_have_a_doubt", "with_the","nested_lists_comprehensions"]
# returns the list of strings without underscore and capitalized
print [replaced.title() for replaced in [el.replace("_"," ")for el in w_list]]
</code></pre>
<p>所以,当我试着这么做的时候</p>
<pre><code>l1 = [100,200,300]
l2 = [0,1,2]
[x + y for x in l2 for y in l1 ]
</code></pre>
<p>我预料到:</p>
<pre><code>[101,202,303]
</code></pre>
<p>但我明白了:</p>
<pre><code>[100,200,300,101,201,301,102,202,302]
</code></pre>
<p>所以我有更好的方法来解决这个问题</p>
<pre><code>[x + y for x,y in zip(l1,l2)]
</code></pre>
<p>但我不明白第一段代码返回了9个元素</p>