So, I was tinkering with list comprehensions, and the following surprised me:
>>> funs = [lambda x:x**i for i in range(10)]
>>> print [fun(2) for fun in funs]
[512, 512, 512, 512, 512, 512, 512, 512, 512, 512]
How would I get:
>>> funs2 = [lambda x:x**0, lambda x:x**1, lambda x:x**2, lambda x:x**3,
lambda x:x**4, lambda x:x**5, lambda x:x**6, lambda x:x**7,
lambda x:x**8, lambda x:x**9]
>>> print [fun(2) for fun in funs2]
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
with list comprehensions, assuming such a thing is possible?