这是 json 文件:
[
{"name": "Saeed"},
{"name": "Joseph"},
{"name": "Mary"},
{"name": "Peter"}
]
我将对其进行迭代,然后id
为每个键添加一个名为的新键,并且它的值是唯一的。
这是我当前的 for 循环,但仅增加第一项:
import json
with open('db.json', 'r') as file:
data = json.load(file)
data.sort(key=lambda x: x['name'])
for i in range(1, len(data) + 1):
for d in data:
d['id'] = i
break
电流输出:
for i in data:
{'name': 'Joseph', 'id': 4}
{'name': 'Mary'}
{'name': 'Peter'}
{'name': 'Saeed'}
预期输出是:
{'name': 'Joseph', 'id': 1}
{'name': 'Mary', 'id': 2}
{'name': 'Peter', 'id': 3}
{'name': 'Saeed', 'id': 4}
问题是
break
. 正确的代码是:您不需要 id 值的循环。