I'd like to understand why the two prints below produce different results:
f = [lambda x: x**2, lambda x: x+100]
f_new = [lambda x: fi(x) for fi in f]
print( [fi(2) for fi in f] )
print( [fi(2) for fi in f_new] )
The output is:
[4, 102]
[102, 102]