2016-10-30 4 views
0

私は、次の辞書actions = {'1': c1, '2': c2, '3': c3}私が試した何Pythonではどのように2つのリスト(関数の1つともう1つの文字列)からなる辞書を作るのですか?

def c1(): 
    print 'c1' 
def c2(): 
    print 'c2' 
def c3(): 
    print 'c3' 

commands1 = ['1', '2', '3'] 
commands2 = [c1, c2, c3] 
actions = {} 

持っている必要があります。

for c1 in commands1: 
    for c2 in commands2: 
     actions = dict(zip(c1, c2)) 

をしかし、それはエラーにargument #2 must support iteration

+3

'dict(zip(commands1、commands2))'を実行してください。 – vaultah

+0

その時点で 'c2'は2番目のリストから1つのコマンドです。これは反復できません。 – jonrsharpe

+0

また、各反復で変数 'actions'を上書きすると、ループすることはできません。 – ForceBru

答えて

0

を与えるこの質問はすでにここに答えている: Map two lists into a dictionary in Python

dict(zip(list_a, list _b)) 
+1

その後、回答をコピーするのではなく、複製としてフラグを立ててください。 – jonrsharpe

+0

既に回答済みの場合は、フラグを立てて複製としてクローズすることを検討してください。 – ForceBru

+0

申し訳ありません、私はこれを行います – YpsilonZett

関連する問題