Here is the example python code.
f_list = [lambda x : x ** i for i in range(5)]
[f_list[j](10) for j in range(5)]
I thought the output would be:
[1, 10, 100, 1000, 10000]
But I got this instead:
[10000, 10000, 10000, 10000, 10000]
I'm wondering what actually happened when I run this code. And what's the connections with lazy evaluation.