La fonction groups_per_user reçoit un dictionnaire, qui contient des noms de groupe avec la liste des utilisateurs. Les utilisateurs peuvent appartenir à plusieurs groupes. Remplissez les blancs pour renvoyer un dictionnaire avec les utilisateurs sous forme de clés et une liste de leurs groupes comme valeurs
3 Réponses :
def groups_per_user(group_dictionary):
user_groups = {}
# Go through group_dictionary
for group in group_dictionary:
# Now go through the users in the group
for user in group_dictionary[group]:
try:
user_groups[user].append(group)
except KeyError:
user_groups[user] = [group]
# Now add the group to the list of
# groups for this user, creating the entry
# in the dictionary if necessary
return(user_groups)
J'aime vraiment votre solution avec essayer / sauf. Merci pour la pointe ... Je vais essayer de l'utiliser dans mon futur code, il facilitera le code de lire (en comparaison de ma réponse).
def groups_per_user(group_dictionary):
user_groups = {}
for group in group_dictionary:
for user in group_dictionary[group]:
if user not in user_groups:
user_groups[user] = []
if group not in user_groups[user]:
user_groups[user].append(group)
return user_groups
mylist = {"local": ["admin", "userA"],
"public": ["admin", "userB"],
"administrator": ["admin"] }
print(groups_per_user(mylist))
# {'admin': ['local', 'public', 'administrator'], 'userA': ['local'], 'userB': ['public']}
sortie de votre Imprimer code> Déclaration: p> {'admin': ['local', 'public', 'administrator'], 'userA': ['local'], 'userB': ['public']}
Si vous avez des problèmes spécifiques en résolvant cela vous-même, vous pouvez demander ici.
D'accord. Selon vous, que devrait aller dans les blancs? Avez-vous essayé de mettre quelque chose dans les blancs? Cela a-t-il fonctionné? Sinon, qu'est-ce qui s'est passé? Si vous ne pouvez pas penser à rien qui va dans les blancs ... Quelle est votre compréhension de la façon dont
pour code> fonctionne à Python? Avez-vous des notes de cours que vous pouvez consulter?J'ai proposé une réponse ci-dessous parce que j'ai trouvé le problème agréable de penser, non pas parce que la façon dont vous avez posé la question posée. De rien!