Supprimer une valeur d'un set
Bonjour,
je souhaite réaliser la chose suivante à partir du dictionnaire suivant :
Code:
1 2
|
d = {'Thierry': {'Michelle', 'Bernadette'}, 'Michelle': {'Thierry'}, 'Bernadette': set()} |
Le but est de créer une fonction avec deux paramètres : le premier le dictionnaire (que ladite fonction devra modifier et le second un booléen qui va indiquer comment la fonctionner doit modifier le dictionnaire d. On doit obtenir le résultat suivant la valeur du booléen
si TRUE
Code:
1 2
|
d = {'Thierry': {'Michelle', 'Bernadette'}, 'Michelle': {'Thierry'}, 'Bernadette': {'Thierry'}} |
si FALSE
Code:
1 2
|
d = {'Thierry': {'Michelle'}, 'Michelle': {'Thierry'}, 'Bernadette': set()} |
je suis parvenu par une méthode pas optimale à mon sens à régler le cas du TRUE mais pour le FALSE je suis bloqué : je n'arrive pas à accéder aux valeurs concernées pour les supprimer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
def modification_dico(d, englobe="True"):
relation = [(prenom, amis) for prenom, amis in d.items()]
for prenom, amis_prenom in relation:
if englobe:
for prenoma in amis_prenom:
d[prenom].add(prenoma)
d[prenoma].add(prenom)
else:
pass
return d |
Merci d'avance pour vos pistes et/ou vos commentaires. Je ne veux pas du tout prêt mais plutôt être aiguillé dans le "bon sens".
Bonne journée à toutes et à tous.