Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Martin Manns Newsgroups: comp.lang.python Subject: Re: Something is rotten in Denmark... Date: Tue, 31 May 2011 23:14:56 +0200 Organization: A noiseless patient Spider Lines: 41 Message-ID: <20110531231456.44d388d7@Fuddel> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Info: mx04.eternal-september.org; posting-host="oD3tC1Yq8/ChG6Ps+g4eLA"; logging-data="27652"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/AXAtoNrBYtmzXdyHBw/EZ" X-Newsreader: Claws Mail 3.7.6 (GTK+ 2.24.4; i486-pc-linux-gnu) Cancel-Lock: sha1:+ZYOLI9dpnPAaFnKETGz4/8Kvw0= Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:6756 On Tue, 31 May 2011 01:48:05 -0500 harrismh777 wrote: > >>> fs=[] > >>> fs = [(lambda n: i + n) for i in range(10)] > >>> [fs[i](1) for i in range(10)] > [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] <=== not good > > ( that was a big surprise! . . . ) > ( let's try it another way . . . ) After being confused I figured out it is a 3.x example: ---- $ python Python 2.6.6 (r266:84292, Apr 20 2011, 11:58:30) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> fs=[] >>> fs = [(lambda n: i + n) for i in range(10)] >>> [fs[i](1) for i in range(10)] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ---- $ python3.1 Python 3.1.3 (r313:86834, Nov 28 2010, 11:28:10) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> fs=[] >>> fs = [(lambda n: i + n) for i in range(10)] >>> [fs[i](1) for i in range(10)] [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] ---- Is this fixed automatically by 2to3? Martin