2017-06-08 5 views
-5

辞書のキー:値のペアを繰り返し、関数の引数として渡したいと思います。関数では、私はAPI呼び出しから取得している値を返そうとしています。私の最終的な目標は、キーをAPIコールから取得した値と等しくすることです。渡しキー:関数への値の対

これを実行すると、「a」が定義されていないというエラーが表示されます。私は

key = SomeFunction(key,val) 

は、API呼び出しからの戻り値の代入で指定されたキーをインスタンス化しない理由を理解するために苦労しています。

助けがあれば助かります。

+0

dictのキーの値を割り当て/変更するには、 'dict [key] = value'を実行する必要があります。 – Haris

+2

'a'とは何ですか? –

+0

@Shiva 'a'は辞書の最初のキーです。変数 'a'を作成し、API呼び出しからの戻り値を割り当てたいと思います。 – alexjones

答えて

0

私はあなただけvalはあなたがdict[key] == valueを使用する必要が辞書内のキーのために/変更値を割り当てるには、APIの呼び出し

Plusが使用されているので、SomeFunction()にキーを送信する必要はないと思います。

だからあなたのコードはに変わります

...(あなたがしようとしていたように)今
def SomeFunction(key,val): 
    return APICall(val) 


myDict = {'a' : 'A', 
      'b' : 'B', 
      'c' : 'C' 
     } 
for key,val in myDict.items(): 
    dict[key] = SomeFunction(val) 

は、APIの呼び出しからの戻り値を印刷するには、再度、プリント辞書を反復処理する必要があるだろうキーと値

0

dctionaryのキーの値を変更したい場合は、@ Harisが既に指摘しているように、それを再割り当てする必要があります。あなたは魔法の変数aを得ることはありませんので、あなただけの、print aを使用することはできません

for key,val in myDict.items(): 
    myDict[key] = SomeFunction(key,val) 

print myDict['a'] 

注 - 文字列aはまだあなたの辞書にちょうどキーです。

関連する問題