给出以下词典列表:
[
{'Label': 'Acura', 'Value': '1'},
{'Label': 'Agrale', 'Value': '2'}
]
如何将“标签”一词替换为“制作”,将“值”替换为“代码”?
我是python的新手,尝试了许多不同的方法,但均未成功。
答案 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')