Confused by lexical closure in list comprehension
<pre><code>l = [1, 2, 3]
a,b,c = [lambda: n*n for n in l]
a()  #=&gt; 9
b()  #=&gt; 9
c()  #=&gt; 9
</code></pre>

<p>Why is this? I expected a(), b(), c(), to be 1, 4, and 9.</p>
