簡體   English   中英

漢字作為字典KEY

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM