根据列表的长度传递给python方法

时间:2009-04-09 20:51:18

标签: python parameters

我有一个名为'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 个答案:

答案 0 :(得分:11)

你想要* operator

opt1 = OptionMenu(root, var1, *optionlist)