Я хочу создать меню в tkinter, в котором перечислены имена из файла CSV. Я использую лямбда-функцию, но я не могу понять, как заставить кнопки делать разные вещи. Все они делают то же самое, что и последний, так как он был создан последним. Вот некоторый код для демонстрации:
from tkinter import *
def printindex(x):
print(x)
root = Tk()
menu = Menu(root)
file = Menu(menu)
for i in range(10):
file.add_command(label=str(i), command=lambda: printindex(i))
menu.add_cascade(label="File", menu=file)
root.config(menu=menu)
root.mainloop()
Когда я запускаю это, все параметры в меню печатают 9.
Я хочу, чтобы все пункты меню указывали на одну и ту же функцию, но передавали их соответствующие значения. Как бы я это сделал?