Python:向字典的data列表追加用户元素失败,求正确实现方法
问题解决:将管理员用户添加到data列表而非外层字典
你的代码问题出在使用了userlist.update(user_dict)——这个方法是给外层字典添加键值对,而你需要操作的是字典里data对应的列表,应该用列表的append()方法来追加用户条目。
修正后的代码
def whitelist_user_list(userlist): # 添加管理员账号 # 先获取存储用户的data列表 user_data_list = userlist['data'] for user in vars.admin_whitelist: user_dict = { 'username': user, 'name': {'firstName': user, 'lastName': user}, 'suspended': False, 'suspendedAt': None } # 将管理员用户追加到data列表中 user_data_list.append(user_dict) return userlist
关键说明
- 首先通过
userlist['data']拿到存储所有用户的列表对象,这才是你需要修改的目标 - 循环生成管理员用户的字典后,调用列表的
append()方法,把新用户条目加到列表末尾 - 这样所有管理员用户都会被放入
data列表内,和原有用户的结构保持一致,不会出现外层字典被额外添加键值对的情况
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

