是否可以将列表作为 Tkinter Listbox 列表变量?或者它必须是一个元组?我真的很想在列表中进行更改,因此我不能使用元组。有什么想法吗?
问问题
1684 次
1 回答
1
您是否尝试过使用list()
和/或tuple()
功能?使用这些,您可以将列表制作成元组或将元组制作成列表。
alist = [1,2,3]
atuple = (4,5,6)
new_tuple = tuple(alist) # returns (1,2,3) which is a tuple
new_list = list(atuple) # returns [4,5,6] which is a list
因此,如果列表变量以元组的形式返回数据,那么您可以读取列表(使用get()
方法),将其更改为列表类型(使用list()
),进行更改并将数据传回(使用tuple()
andset()
方法)。但是,一般来说,如果某些小部件仅适用于给定的变量类型,请考虑为什么会这样以及为什么您的数据不是同一类型。
这里有几个关于何时/为什么在 Python 中使用列表或元组的好问题。
- 接受的答案表明元组通常用于异构数据,而列表通常用于同类数据
- 另一个答案指出元组是不可变的(数据一旦分配就不能就地更改),而列表是可变的
另一个问题(Python 中的 list 和 tuples 有什么区别?)提到了这些相同的点并链接到有关该主题的几篇文章。
最后, Listbox 小部件上的这个链接提到了 thelistvariable
和它的get
/set
方法。
于 2013-01-01T15:20:50.967 回答