修改字典的key,最好的方式就是新增乙個key-value,value為之前的值;之後再把原先的key-value刪掉。
我以之前的乙個應用為例,把乙個字典key是漢字的替換成對應的英文單詞。
#-*- coding:utf-8 -*-
def converttoeng(org_dict, translate_dict):
"""對原始字典中的key是漢字做替換成英文
:param org_dict: 原始字典
:param translate_dict: 儲存有key是漢字,value是英文的漢英字典
:return: 修改原始字典,key是漢字替換為英文,value不變,並返回修改後的org_dict
"""if isinstance(org_dict, (list, tuple)): # 如果是巢狀的字典,有可能其value是列表或者元組
list2 = list()
for e in org_dict:
# 遞迴去找key
return list2
# 修改字典的key,最好的方式就是新增乙個key - value 鍵值對,value為之前的值;之後再把原先的key - value鍵值對刪掉
if isinstance(org_dict, dict):
for key, value in org_dict.items():
# 原始字典的key是漢字能匹配上
value = converttoeng(value, translate_dict)
# 保留原key
old_key = key
if translate_dict.has_key(key): # 原始字典的key是漢字能匹配上
# 替換key
key = translate_dict[key]
# 賦value值
org_dict[key] = value
# 刪掉舊key-value
del org_dict[old_key]
# end for
return org_dict
# end if
return org_dict
python 字典key值報錯
報錯 typeerror unhashable type set 或 typeerror unhashable type list 原因 python的字典型別的key不支援set或list,set裡面的物件是hash儲存,如果儲存乙個list物件,而後改變了list物件,那set中剛才儲存的值的h...
Python修改巢狀字典的key值
最近在搞介面測試的時候發現了乙個比較有趣的json入引數,結構如下 json gg 33 觀察該json資料,我們發現有大量的相同的key gg 並且這些key的value值都是一樣的,那麼我們需要修改所有key gg 的值,應該怎麼做呢?提問 為什麼會有這麼有趣的入引數據?我也不知道,因為公司的出...
python禁止字典key排序
import collections data collections.ordereddict data b 3 data a 1 data jsonify d return make response data,200 1.正常的python dict是按字母順序排序的,所以要使用orderedd...