On Tue, 31 May 2011 01:48:05 -0500 harrismh777 <harrismh...@charter.net> 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 -- http://mail.python.org/mailman/listinfo/python-list