So, I think I understand what python's scoping is doing in the
following situation:
[<function <lambdaat 0x00BEC070>, <function <lambdaat 0x00BEC7F0>,
<function <lambdaat 0x00BECA70>, <function <lambdaat 0x00C1EBF0>,
<function <lambdaat 0x00C1EE30>, <function <lambdaat 0x00C228F0>,
<function <lambdaat 0x00C228B0>, <function <lambdaat 0x00C28730>,
<function <lambdaat 0x00C286F0>, <function <lambdaat 0x00C287F0>]
9
9
9
9
2
But, I'm wondering what is the easiest (and/or most pythonic) way to
get the behavior I want? (If you haven't guessed, I want a list of (no
parameter) functions, each of which returns its index in the list.)
-Dan
following situation:
>>x = [ lambda: ind for ind in range(10) ]
>>x
>>x
<function <lambdaat 0x00BECA70>, <function <lambdaat 0x00C1EBF0>,
<function <lambdaat 0x00C1EE30>, <function <lambdaat 0x00C228F0>,
<function <lambdaat 0x00C228B0>, <function <lambdaat 0x00C28730>,
<function <lambdaat 0x00C286F0>, <function <lambdaat 0x00C287F0>]
>>x[0]()
>>x[5]()
>>x[9]()
>>ind
>>ind = 2
>>x[0]()
>>x[0]()
>>>
get the behavior I want? (If you haven't guessed, I want a list of (no
parameter) functions, each of which returns its index in the list.)
-Dan
Comment