python字典键错误

时间:2016-04-29 22:27:00

标签: python python-2.7

无法检索字典中存在的键的值。

检查图像,我不确定我做错了什么

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的情况下抛出错误

2 个答案:

答案 0 :(得分:1)

从你的resp中删除'',它应该是

frontend_ips[resp]

否则resp被视为字符串,而不是变量。

另外,你的密钥实际上是字符串,而resp是整数,所以要么

frontend_ips[1] = 'something'

frontend_ips[str(resp)]

答案 1 :(得分:1)

如果你的字典是这样的

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

如果您要求

,您将收到一个关键错误
>>> 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'是一个字符串(类型为str)。即使外观相同,它们也是不同的数据结构,因此它们是不同的