如何替换python列表中字典中的键?

2024-03-29 05:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想用python替换python列表中字典的键。 我有这个

实际数据

[{'Title.1':'Replace key','number':'Replacing Keys','Title.1':'Replaced Keys'}]

预期结果

[{'Title':'Replace key','number':'Replacing Keys','Title':'Replaced Keys'}] In place of Title.1 I want Title

 data = [{'Title.1':'Replace key','number':'Replacing 
             Keys','Title.1':'Replaced Keys'}]
for name, datalist in data.iteritems(): 
    for datadict in datalist:
        for key, value in datadict.items():
             if key == Title.1:
                datadict[key] = Title
             print (data)

Tags: 数据keyinnumber列表fordata字典
2条回答

基本上,如果要更改密钥,则需要创建具有所需名称的新密钥复制其中旧密钥的数据,然后删除旧密钥,以便使用以下代码:

my_dictionnary = { "old_key": "my_value" }
my_dictionnary["new_key"] = my_dictionnary["old_key"]
del my_dictionnary["old_key"]

为了回答你向我们展示的具体案例,你可以这样做:

datas = [{'Title.1':'Replace key','number':'Replacing 
             Keys','Title.1':'Replaced Keys'}]
for data in datas:
    for key in data:
        if key[-2:] == ".1":
            data[key[:-2]] = data[key]
            del data[key]

这里同一个键给定两次…字典键必须是唯一的

    for i in data:
        for k,v in i.items():
            if k=='Title.1':
                del i[k]
                i['Title'] = v
    print(data)
    #[{'number': 'Replacing Keys', 'Title': 'Replaced Keys'}]

相关问题 更多 >