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

时间:2019-07-15 06:54:08

标签: python list dictionary

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

实际数据

  

[{'Title.1':'替换键','数字':'替换   Keys','Title.1':'Replaced Keys'}]

预期结果

  

[{'Title':'Replace key','number':'Replaceing Keys,'Title':'Replaced   Keys'}]代替Title.1我想要标题

 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)

2 个答案:

答案 0 :(得分:0)

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

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]

答案 1 :(得分:0)

两次给出相同的键...字典键必须唯一

    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'}]