adders = []
for i in [1, 2, 3]:
add_i = lambda x: x + i
adders.append(add_i)
adders
[<function __main__.<lambda>>,
<function __main__.<lambda>>,
<function __main__.<lambda>>]
If we input add1 = adders[0]
, then add1
will be x+1
. But add1 (5)
outputs 8
instead of 6
. Why?