Python中在循环中使用lambda最终使用的是最后一个索引值,而不是设置的索引值。
- 论坛
- Python中在循环中使用lambda最终使用的是最后一个索引值,而不是设置的索引值。
13 浏览
Python中在循环中使用lambda最终使用的是最后一个索引值,而不是设置的索引值。
使用lambda函数中的for循环索引(index)会导致函数使用索引达到的值,而不是它被设置的值。\n使用Python 3.9.6\n
command_list = [] for i in range(2): print(i) command_list.append(lambda:print(i)) command_list[0]() command_list[1]()
\n导致结果:\n
0 1 1 1
\n但我需要/期望的结果是:\n
0 1 0 1
\n如何获得期望的结果?