1

是否可以将列表作为 Tkinter Listbox 列表变量?或者它必须是一个元组?我真的很想在列表中进行更改,因此我不能使用元组。有什么想法吗?

4

1 回答 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:列表与元组,何时使用每个?

  • 接受的答案表明元组通常用于异构数据,而列表通常用于同类数据
  • 另一个答案指出元组是不可变的(数据一旦分配就不能就地更改),而列表是可变的

另一个问题(Python 中的 list 和 tuples 有什么区别?)提到了这些相同的点并链接到有关该主题的几篇文章。

最后, Listbox 小部件上的这个链接提到了 thelistvariable和它的get/set方法。

于 2013-01-01T15:20:50.967 回答