我可以在不使用循环的情况下将字符串列表添加到 Tkinter 列表框吗?

Jay*_*Jay 5 python optimization listbox tkinter

我试图了解将一堆以某种方式预先排列的字符串添加到 Listbox 小部件的最快方法是什么,以便每个字符串都在一个新行中。

到目前为止我能收集到的最快的:

 from Tkinter import *

 strings= 'str1', 'str2', 'str3'
 listbox=Listbox(None)
 [listbox.insert(END, item) for item in strings]
 listbox.pack()
Run Code Online (Sandbox Code Playgroud)

是否有一种更干净、更快的方法来完成它,而无需遍历每个字符串?也许如果字符串以某种方式或使用其他方法预先打包?

如果相关,我想用它来显示目录列表。

DYZ*_*DYZ 6

此代码插入集合中的所有字符串:

listbox.insert(END, *strings)
Run Code Online (Sandbox Code Playgroud)

  • @Joe Python 文档索引有一个名为 Symbols 的页面。在`*` 标题下是一个条目`in function calls`,它链接到https://docs.python.org/3/reference/expressions.html#index-38,它说“如果语法*表达式出现在函数调用,表达式必须计算为一个可迭代对象。来自这些可迭代对象的元素被视为额外的位置参数。...”,后面是更多示例和解释。 (2认同)