2016-12-14 2 views
1

Я пытаюсь понять, что самый быстрый способ - добавить кучу строк, которые каким-то образом предварительно настроены на виджет Listbox, так что каждая строка находится в новой строке.Могу ли я добавить список строк в список Tkinter без использования цикла?

Самый быстрый я мог собрать до сих пор:

from Tkinter import * 

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

Есть ли возможно уборщик быстрый способ сделать это без перебора каждой строки? Возможно, если строки предварительно упакованы определенным способом или с использованием какого-либо другого метода?

Если это актуально, я хочу использовать его для отображения каталогов.

+0

Что 'END' в вашем случае? – ettanany

+0

@ettanany, это текущий конец списка, насколько я понимаю из программирования Python, поэтому в принципе позволяет вставлять, не беспокоясь о текущем индексе – Jay

ответ

1

Этот код вставляет все строки в коллекции:

listbox.insert(END, *strings) 
+0

Сладкий, спасибо. Просто чтобы убедиться. это то же самое использование *, что и в * args/** kwargs для функции? Я спрашиваю, потому что, если я правильно помню, я использую * args в определении функции, но не при вызове. – Jay

+0

@Joe Да, это так. – DyZ

+1

Кажется, мне нужно читать на * args/** kwargs. благодаря! – Jay