Создание кнопок внутри цикла команда не работает

Используя Tkinter в python, пытаемся создать пронумерованные кнопки, которые используют self.do (x) для добавления числа x в строковую переменную. Проблема с этим конкретным фрагментом кода, находящимся в цикле (для экономии места), заключается в том, что он добавит в строку номер LAST (т.е. 9 в этом примере). Это потому, что после этого она вызывает функцию и использует последнее значение num [i]. Есть ли способ исправить это?

self.numButton = []
num = []
for i in range(9):
    num.append(i + 1)
    self.numButton.append(Button(root,text=num[i],command=lambda: self.do(num[i])))

Ответы на вопрос(1)

Ваш ответ на вопрос