如何更改字典列表字典键? [重复]

问题描述 投票:-3回答:4

这个问题已经在这里有一个答案:

鉴于字典名单如下:

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

我如何可以替换“制作”与“代码”价值'这个词“标签”?

I'm新的Python和尝试没有成功许多不同的方法。

python dictionary
4个回答
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
投票

最简单的方法是添加与旧值一个新的密钥,然后删除旧的密钥:

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

0
投票

你为什么不只是想映射MakeCode,e.g字典:

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

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')
© www.soinside.com 2019 - 2024. All rights reserved.