python - 使用列表作为列表框变量而不是元组

标签 python tkinter

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

最佳答案

您是否尝试过使用 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

因此,如果 listvariable 以元组形式返回数据,那么您可以读取列表(使用 get() 方法),将其更改为列表类型(使用 list()),进行更改并将数据传回(使用 tuple()set() 方法)。但是,一般来说,如果某个小部件仅适用于给定的变量类型,请考虑为什么会这样以及为什么您的数据不是同一类型。

<小时/>

这里有几个关于何时/为何在 Python 中使用列表或元组的好问题。

python: list vs tuple, when to use each?

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

另一个问题 ( What's the difference between list and tuples in Python? ) 提到了这些相同的观点,并链接到有关该主题的几篇文章。

最后,这个链接位于 Listbox widget提到了 listvariable 及其 get/set 方法。

关于python - 使用列表作为列表框变量而不是元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104966/

相关文章:

python - 根据条件合并数组

python - 如何为空列表隐式定义参数?

python - 有没有办法轻松地将 2 个索引之间的所有元素放入 Python 中的嵌套列表中?

python - 绘制和更新车速表指针

python - django socketio - SocketIOHandler 错误

python - 使用 Python lambda 中的 JSON 日志格式

python - 如何在 Tkinter 标签中使用下标?

python - Tkinter 和 PIL 调整图像大小以适合标签

python - TKinter:如何设置子窗口的窗口图标(Toplevel)

python - 列出 `tkinter` 中的可用字体系列