2024-10-04 05:28:27 发布
网友
我有一本像这样的字典-
mydict = { 'users': [ { 'userid': 'u1234' 'name': 'user1' }, { 'userid': 'u0007' 'name': 'user2' } ] }
我想要一个功能,如果我传递userid=u1234,它应该遍历字典并从字典中删除该userid的详细信息,然后将输出写入文件
请尝试以下代码:-
for i,v in mydict.items(): for a in v: if (a['userid'] == 'u1234'): v.remove(a)
然后使用以下代码写入文件:-
import json with open('result.json', 'w') as fp: json.dump(mydict, fp)
此代码将处理您删除特定用户的请求:
for user in mydict['users']: if user['userid'] == 'u1234': mydict['users'].remove(user)
我会简化:
user_list = myDict['users'] for usr_dict in user_list: if usr_dict['name'] = name_to_remove: myDict['users'].remove(usr_dict)
此外,缩小一个步骤以提高查找效率(和循环简单性),您可以[重新]构建myDict,如下所示:
myDict
users_dict = { 'u1234': { 'userid': 'u1234' 'name': 'user1' }, 'u0007': { 'userid': 'u0007' 'name': 'user2' } }
然后,您的循环可能会变成:
for uid, obj in users_dict.items(): if obj['name'] == username_to_delete: users_dict.remove(uid)
请尝试以下代码:-
然后使用以下代码写入文件:-
此代码将处理您删除特定用户的请求:
我会简化:
此外,缩小一个步骤以提高查找效率(和循环简单性),您可以[重新]构建
myDict
,如下所示:然后,您的循环可能会变成:
相关问题 更多 >
编程相关推荐