如何使用列表项作为变量?
How to use list items as variables?
我需要在 Tkinter 中使用名为 'apple' 'banana' 和 'orange' 的变量。
在我的真实脚本中,它们的名称不同,而且我还有很多,这会使手动输入的工作量很大:
apple.delete(0, END)
banana.delete(0, END)
等等
我想使用列表
lst = ['apple', 'banana', 'orange']
这样我就可以使用:
for i in lst:
i.delete(0, END)
但这给了我错误:
AttributeError: 'str' object has no attribute 'delete'
如何将这些列表项用作操作中的变量?
在您的代码中的某个地方,您的代码执行以下操作:
apple = Fruit("red")
banana = Fruit("yellow")
grape = Fruit("purple")
# etc
(我不确定这些东西的类型是什么,也不熟悉 tkinter,但我认为它们是某种对象。对于这个概念的目的而言,实际上并不重要。 )
您不想存储实际的字符串 "apple"、"banana" 等,而是希望将这些 对象 放入列表中:
fruits = [Fruit("red"), Fruit("yellow"), Fruit("purple")]
现在您可以:
for fruit in fruits:
fruit.delete(0, END)
您可以将小部件保存到列表中。它们是 python 个对象,因此您可以像使用任何其他对象一样使用它们。
apple = tk.Text(...)
banana = tk.Text(...)
orange = tk.Text(...)
...
lst = [apple, banana, orange, ...]
...
for widget in lst:
widget.delete(0, "end")
我需要在 Tkinter 中使用名为 'apple' 'banana' 和 'orange' 的变量。
在我的真实脚本中,它们的名称不同,而且我还有很多,这会使手动输入的工作量很大:
apple.delete(0, END)
banana.delete(0, END)
等等
我想使用列表
lst = ['apple', 'banana', 'orange']
这样我就可以使用:
for i in lst:
i.delete(0, END)
但这给了我错误:
AttributeError: 'str' object has no attribute 'delete'
如何将这些列表项用作操作中的变量?
在您的代码中的某个地方,您的代码执行以下操作:
apple = Fruit("red")
banana = Fruit("yellow")
grape = Fruit("purple")
# etc
(我不确定这些东西的类型是什么,也不熟悉 tkinter,但我认为它们是某种对象。对于这个概念的目的而言,实际上并不重要。 )
您不想存储实际的字符串 "apple"、"banana" 等,而是希望将这些 对象 放入列表中:
fruits = [Fruit("red"), Fruit("yellow"), Fruit("purple")]
现在您可以:
for fruit in fruits:
fruit.delete(0, END)
您可以将小部件保存到列表中。它们是 python 个对象,因此您可以像使用任何其他对象一样使用它们。
apple = tk.Text(...)
banana = tk.Text(...)
orange = tk.Text(...)
...
lst = [apple, banana, orange, ...]
...
for widget in lst:
widget.delete(0, "end")