如何更改词典列表中的词典键?

时间:2019-02-11 19:36:31

标签: python dictionary

给出以下词典列表:

[
     {'Label': 'Acura', 'Value': '1'}, 
     {'Label': 'Agrale', 'Value': '2'}
]

如何将“标签”一词替换为“制作”,将“值”替换为“代码”?

我是python的新手,尝试了许多不同的方法,但均未成功。

4 个答案:

答案 0 :(得分:4)

使用.pop

lst = [{'Label': 'Acura', 'Value': '1'}, {'Label': 'Agrale', 'Value': '2'}]

for d in lst:
    d['Make'] = d.pop('Label')
    d['Code'] = d.pop('Value')

print(lst)

这产生

[{'Make': 'Acura', 'Code': '1'}, {'Make': 'Agrale', 'Code': '2'}]

如果密钥恰好不存在。您还可以定义默认密钥:

d['new_key'] = d.pop('missing_key', 'default_value')

答案 1 :(得分:1)

最简单的方法是使用旧值添加新键,然后删除旧键:

mydict['Make'] = mydict['Label']
del mydict['Label']

答案 2 :(得分:0)

您为什么不只想要一个将Make映射到Code的字典,例如:

d = {e['Label']: e['Value'] for e in your_list}

答案 3 :(得分:0)

使用熊猫

import pandas as pd
df=pd.DataFrame([{'Label': 'Acura', 'Value': '1'}, {'Label': 'Agrale', 'Value': '2'}])
df=df.rename(index=str, columns={"Label": "Make", "Value": "Code"})
df.to_dict('records')