2009-04-09 8 views
1

日々長さが変わる可能性のある「optionlist」というリストがありますが、そこから何かを選択できるようにする必要があります。ここでリストの長さに基づいてPythonメソッドに渡す

は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] 

私はメソッドにも渡すときに同様のことができると期待しています。

答えて

11

あなたは* operatorをしたい:

opt1 = OptionMenu(root, var1, *optionlist) 
関連する問題