这个问题已经在这里有一个答案:
鉴于字典名单如下:
[
{'Label': 'Acura', 'Value': '1'},
{'Label': 'Agrale', 'Value': '2'}
]
我如何可以替换“制作”与“代码”价值'这个词“标签”?
I'm新的Python和尝试没有成功许多不同的方法。
使用.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')
最简单的方法是添加与旧值一个新的密钥,然后删除旧的密钥:
mydict['Make'] = mydict['Label']
del mydict['Label']
你为什么不只是想映射Make
到Code
,e.g字典:
d = {e['Label']: e['Value'] for e in your_list}
使用熊猫
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')