gpt4 book ai didi

python - 使用map更新python中的字典列表

转载 作者:行者123 更新时间:2023-12-01 06:40:25 25 4
gpt4 key购买 nike

所以我有一个如下所示的列表:

users = [{'id': 11, 'name': 'First'}, {'id': 22, 'name': 'Second'}, {'id':33, 'name': 'Third'}] 

我想要做的是通过传递 id、创建新用户并用新用户替换旧用户来更新用户名。我想获取更新的用户列表,如下所示:

updated_users = list(map(update, users))

如果我可以发送 id 作为参数来更新 func,我想要做的事情将如下所示:

def update(id):
if user['id'] == id:
new_user = some_fun()
user = new_user
return user

我的更新函数应该是什么样子?

最佳答案

我不知道你为什么要使用 map ,我认为这是一个错误的方法,因为 map 不适合这种事情(你肯定可以让它工作,但这不是正确的方法)

你可以这样做:

users = [{'id': 11, 'name': 'First'}, {'id': 22, 'name': 'Second'}, {'id':33, 'name': 'Third'}]

def update(id, new_name):
for user in users:
if user["id"] == id:
user["name"] = new_name
return
users.append({'id':id,'name':new_name}) # if not exist add user

print(users)
update(11,"Last")
update(1, "New_First")
print(users)

输出:

[{'id': 11, 'name': 'First'}, {'id': 22, 'name': 'Second'}, {'id': 33, 'name': 'Third'}]
[{'id': 11, 'name': 'Last'}, {'id': 22, 'name': 'Second'}, {'id': 33, 'name': 'Third'}, {'id': 1, 'name': 'New_First'}]

关于python - 使用map更新python中的字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com