汉字作为字典键

2024-04-26 13:14:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个字典查找变量,如下所示:

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: '山东省'

这有可能实现吗?你知道吗


Tags: viewapiformataddressresponselinelocationresult
1条回答
网友
1楼 · 发布于 2024-04-26 13:14:09

如果您阅读了错误,我不确定您是否定义了API返回的所有可能的键。汉字在字典里没有什么特别的,只是KeyError: '山东省'意味着它真的不在你的字典里

如果不能保证提前拥有所有已知的密钥,则应该回退到获取默认值

lookup.get(api_response['Response']['View'][0]['Result'][0]['Location']['Address']['State']], "Unknown") 

相关问题 更多 >