2016-04-29 24 views
-2

辞書に存在するキーの値を取得できません。python辞書のキーエラー

画像を確認し、私は私が間違って

screenshot of dictionary key and value image

screenshot of error image

frontend_ips = {}; 
frontend_ips['0'] = "localhost" 
frontend_ips['1'] = "localhost" 
frontend_ips['2'] = "localhost" 


final_resp = frontend_ips['resp'] 

をやっていることはRESP値があなたから1つの

+0

質問、コード、エラーメッセージを実際の質問本体に入れてください。 – user2357112

+0

おい、この質問を削除し、コードで新しい投稿をしてください。 – Milor123

+0

@ Milor123画像をチェックしましたか? –

答えて

1

削除 '' でエラーがスローされますかわからないですresp、それはあるはずです

frontend_ips[resp] 

respは変数ではなく文字列として扱われます。

プラス、RESPは、あなたの辞書はあなたが得るこの

>>> frontend_ips={'0':"localhost",'1':"localhost",'2':"localhost"} 

のようなものである場合にはそのいずれか

frontend_ips[1] = 'something' 

または

frontend_ips[str(resp)] 
+0

いいえ、それはここでチェックしませんhttp://s32.postimg.org/wzgobkq51/dictionary4.png –

+0

ありがとう、それはバグを修正:) –

1

を行う整数である間、あなたの鍵は、実際には文字列でありますあなたが求める場合はキーエラー

>>> frontend_ips[1] 
Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    frontend_ips[1] 
KeyError: 1 

しかし、あなたは

>>> frontend_ips['1'] 
'localhost' 

を求める場合にはその理由は単純で、正しいものを得る、1は番号(int型)であると'1'は、文字列(タイプ文字列)です。同じ外観であってもデータ構造が異なる場合でも、それらは異なっています