-1
votes

Comment modifier dans les dictionnaires?

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 xxx


3 commentaires

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 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!


3 Réponses :


1
votes
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)

1 commentaires

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).



0
votes
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']}


0 commentaires

1
votes

Essayez ceci: strong> xxx pré>

sortie de votre Imprimer code> Déclaration: p>

{'admin': ['local', 'public', 'administrator'], 'userA': ['local'], 'userB': ['public']}


0 commentaires