现有一个数据为字典的列表,举例如下:
[{
"id": 1372,
"part": 24,
},
{
"id": 1357,
"part": 9,
},
{
"id": 1334,
"part": 12,
}
]
需求,根据指定id(例如id = 1357),匹配到上面列表里对应的字典,并修改该字典的"part"数据。
希望有完整代码,谢谢。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
def update(key, value, items):
for item in items:
if item['id'] == key:
item['part'] = value
if __name__ == '__main__':
items = [{
"id": 1372,
"part": 24,
},
{
"id": 1357,
"part": 9,
},
{
"id": 1334,
"part": 12,
}
]
print("修改前:",items)
update(1357, 22, items)
print("修改后:",items)
def alter_part_by_id(data, id, alter_part):
'''
:param data: 原始数据
:param id: 需要更改的id
:param alter_part: 需要修改的目标part值
:return:
'''
return [{"id": i['id'], "part": alter_part} if i['id'] == id else i for i in data]
if __name__ == '__main__':
data = [{
"id": 1372,
"part": 24,
},
{
"id": 1357,
"part": 9,
},
{
"id": 1334,
"part": 12,
}
]
# 将1357对应的part修改为20000
data = alter_part_by_id(data, 1357, 20000)
https://jingyan.baidu.com/article/335530da54946f58ca41c34b.html