Переход на метод python, основанный на длине списка - PullRequest
1 голос
/ 10 апреля 2009

У меня есть список с именем 'optionlist', который может меняться изо дня в день, но я хочу, чтобы выпадающий список tkinter мог что-то выбрать из него.

Вот пример того, как определить опцию меню tkinter:

opt1 = OptionMenu(root, var1, 'A', 'B', 'C')  

A, B и C - это опции, которые вы можете выбрать. Проблема, представленная здесь, заключается в том, что, хотя OptionMenu является гибким и допускает столько вариантов, сколько вы хотите, вы должны точно знать, сколько вы хотите, когда вы пишете код. Это не список или передаваемый кортеж.

Мне интересно, знает ли кто-нибудь кунг-фу для этого, так что мне не нужно делать:

if len(optionlist) == 1:
  opt1 = OptionMenu(root, var1, optionlist[0])  
if len(optionlist) == 2:
  opt1 = OptionMenu(root, var1, optionlist[0], optionlist[1])  
etc, etc, etc

Я знаю, что вы можете определить список следующим образом:

elements = [client.get('element') for client in clientlist]

Я надеюсь, что нечто подобное можно сделать и при переходе к методам.

1 Ответ

11 голосов
/ 10 апреля 2009

Требуется оператор * :

opt1 = OptionMenu(root, var1, *optionlist)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...