增加字典列表中的键值

bla*_*lah 0 python dictionary enumerate

我想在字典列表中添加一个 id 键,其中每个 id 代表枚举的嵌套字典。

当前字典列表:

current_list_d = [{'id': 0, 'name': 'Paco', 'age': 18} #all id's are 0
                  {'id': 0, 'name': 'John', 'age': 20}
                  {'id': 0, 'name': 'Claire', 'age': 22}]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

output_list_d = [{'id': 1, 'name': 'Paco', 'age': 18} #id's are counted/enumerated
                  {'id': 2, 'name': 'John', 'age': 20}
                  {'id': 3, 'name': 'Claire', 'age': 22}]

Run Code Online (Sandbox Code Playgroud)

我的代码:

for d in current_list_d:
    d["id"]+=1
Run Code Online (Sandbox Code Playgroud)

yat*_*atu 8

您可以使用简单的 for 循环enumerate并更新id字典中的键:

for new_id, d in enumerate(current_list_d, start=1):
    d['id'] = new_id

current_list_d
[{'id': 1, 'name': 'Paco', 'age': 18},
 {'id': 2, 'name': 'John', 'age': 20},
 {'id': 3, 'name': 'Claire', 'age': 22}]
Run Code Online (Sandbox Code Playgroud)