首页 > 解决方案 > 如何使字典中的每个“用户”成为键以及它们所属的所有“组”的值?

问题描述

我想要一个可以打印打印语句的结果;

{"admin" : ["local", "public", "administrator"], 
"user A" : ["local"], 
"user B" : ["public"]}

这是我尝试过的:

def groups_per_user(groups_dictionary):
    user_groups = {}
    for groups, users in groups_dictionary.items():
            for user in users:
                user_groups[user] = groups
                
    return(user_groups)
    
print(groups_per_user({"local":["admin", "user A"], "public":["admin", "user B"], "administrator": ["admin"]}))

输出

{'admin': 'administrator', 'user A': 'local', 'user B': 'public'}

标签: pythonpython-3.xdictionary

解决方案


只需修改您的for循环,如下所示:

for user in users:
    user_groups.setdefault(user, [])
    user_groups[user].append(groups)

推荐阅读