Python Tkinter从数组生成命令

Python Tkinter从数组生成命令,python,tkinter,Python,Tkinter,我试图从给定的数组中构建一个菜单,其中标签和命令基于数组项 arr1 = ["item0","item1","item2"] for arg in arr1: self.menu.add_command(label=arg, command= lambda: print(arg)) 使用上述代码,标签工作正常,但所有条目命令都打印最后一个参数(item2)的相同文本。有一个简单的解决方法: 像这样使用lambda: self.

我试图从给定的数组中构建一个菜单,其中标签和命令基于数组项

arr1 = ["item0","item1","item2"]
for arg in arr1:
    self.menu.add_command(label=arg, command= lambda: print(arg))

使用上述代码,标签工作正常,但所有条目命令都打印最后一个参数(item2)的相同文本。

有一个简单的解决方法: 像这样使用
lambda

self.menu.add_command(label=arg, command= lambda x=arg: print(x))