Home > database >  Remove a pair of key:value depending if the parameter of the function is in the dictionary
Remove a pair of key:value depending if the parameter of the function is in the dictionary

Time:11-04

personnages_restants = {'Bernard': {'genre': 'homme', 'accessoires': ['chapeau']},
               'Claire': {'genre': 'femme', 'accessoires': ['chapeau']},
               'Eric': {'genre': 'homme', 'accessoires': ['chapeau']},
               'George': {'genre': 'homme', 'accessoires': ['chapeau']},
               'Maria': {'genre': 'femme', 'accessoires': ['chapeau']}}

def fn_1(personnages_restants, type_caracteristique, valeur_caracteristique):
   personnages_copy = personnages_restants.copy()
   for name, valeur_caracteristique in personnages_copy.items():
      if valeur_caracteristique[type_caracteristique] == valeur_caracteristique:
         del personnages_restants[name]

return personnages_restants

print(fn_1(personnages_restants, 'genre', 'femme'))

What appears in the console is the dicitionary personnages_restants and not the dictionary with the pair of key:value removed.

CodePudding user response:

You used the same name valeur_caracteristique for 2 different objects! Thus your "Qui Est-Ce" algorithm is confused :)

personnages_restants = {'Bernard': {'genre': 'homme', 'accessoires': ['chapeau']},
               'Claire': {'genre': 'femme', 'accessoires': ['chapeau']},
               'Eric': {'genre': 'homme', 'accessoires': ['chapeau']},
               'George': {'genre': 'homme', 'accessoires': ['chapeau']},
               'Maria': {'genre': 'femme', 'accessoires': ['chapeau']}}

def fn_1(personnages_restants, type_caracteristique, valeur_caracteristique):
    personnages_copy = personnages_restants.copy()
    for name, valeur_carac in personnages_copy.items():

      if valeur_carac[type_caracteristique] == valeur_caracteristique:
         del personnages_restants[name]

    return personnages_restants

print(fn_1(personnages_restants, 'genre', 'femme'))

# {'Bernard': {'genre': 'homme', 'accessoires': ['chapeau']}, 
#  'Eric': {'genre': 'homme', 'accessoires': ['chapeau']}, 
#  'George': {'genre': 'homme', 'accessoires': ['chapeau']}}
  • Related