X = 5
L = list(map(lambda x: 2**X, range(7)))
print (L)
Run Code Online (Sandbox Code Playgroud)
......我希望这会回来:
[1, 2, 4, 8, 16, 32, 64]
Run Code Online (Sandbox Code Playgroud)
...相反,它返回:
[32, 32, 32, 32, 32, 32, 32]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Ale*_*lli 10
Python区分大小写,因此lambda x: 2**X意味着:接受一个参数,调用它(小写)x,完全忽略它,并将2返回到全局变量(大写)的幂X.