[英]Chinese characters as dictionary KEY
我正在尝试创建一个像这样的字典查找变量:
lookup = {
u'安徽省':'Anhui',
u'福建省':'Fujian',
u'甘肃省':'Gansu',
u'广东省':'Guangdong',
u'贵州省':'Guizhou',
u'浙江省':'Zhejiang'
}
我正在调用一个API,它以中文返回结果。 我只想查找一张表将其转换为英文名称。
所以我的代码是:
api_response = api.geocode(address, isChina)
if len(api_response['Response']['View']) > 0:
state = lookup[api_response['Response']['View'][0]['Result'][0]['Location']['Address']['State']]
但是我得到的错误是:
2019-07-29 15:35:13.193 | ERROR | __main__:<module>:148 - Traceback (most recent call last): File "format.py", line 93, in <module>
new_dict = doStepByStepCleanse(row, isChina, line_count) File "format.py", line 43, in doStepByStepCleanse
state = lookup[api_response['Response']['View'][0]['Result'][0]['Location']['Address']['State']] KeyError: '山东省'
这有可能实现吗?
如果您读取该错误,则不确定您是否已定义API返回的所有可能的键。 字典中的汉字没有什么特别的,只是KeyError: '山东省'
意味着它确实不在字典中
如果不能保证提前知道所有已知密钥,则应回退到获取默认值
lookup.get(api_response['Response']['View'][0]['Result'][0]['Location']['Address']['State']], "Unknown")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.