python裡對字典的key值進行修改的方法

2021-08-15 10:37:27 字數 1123 閱讀 4028

修改字典的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...