Diviser un dictionnaire Python en plusieurs dictionnaires en fonction des valeurs.
En Python, vous pouvez diviser un dictionnaire en plusieurs dictionnaires en fonction des valeurs qu'il contient. Cela peut être utile lorsque vous souhaitez regrouper les données dans le dictionnaire en fonction de certains critères. Voici un tutoriel étape par étape sur la façon d'y parvenir.
Étape 1 : Créer un dictionnaire
Tout d'abord, créons un dictionnaire d'exemple que nous utiliserons tout au long de ce tutoriel. Le dictionnaire contiendra des paires clé-valeur, où les valeurs seront utilisées pour la division.
mon_dict = {
'pomme': 10,
'banane': 12,
'orange': 9,
'raisin': 10,
'kiwi': 12,
'ananas': 9
}
Étape 2 : Initialiser un dictionnaire vide pour chaque valeur
Ensuite, nous devons initialiser un dictionnaire vide pour chaque valeur unique dans le dictionnaire d'origine. Nous utiliserons la fonction set() pour obtenir les valeurs uniques du dictionnaire.
valeurs_uniques = set(mon_dict.values())
dictionnaires_divises = {valeur: {} for valeur in valeurs_uniques}
Dans cet exemple, le dictionnaire dictionnaires_divises aura des clés correspondant aux valeurs uniques de mon_dict et des dictionnaires vides comme valeurs correspondantes.
Étape 3 : Parcourir le dictionnaire d'origine
Maintenant, nous devons parcourir le dictionnaire d'origine et attribuer chaque paire clé-valeur au dictionnaire divisé approprié en fonction de sa valeur.
for cle, valeur in mon_dict.items():
dictionnaires_divises[valeur][cle] = valeur
Ce code attribue la paire clé-valeur au dictionnaire divisé avec la valeur correspondante.
Étape 4 : Afficher les dictionnaires divisés
Enfin, nous pouvons afficher chaque dictionnaire divisé pour voir le résultat.
for valeur, dictionnaire_divise in dictionnaires_divises.items():
print(f"Dictionnaire avec la valeur {valeur} : {dictionnaire_divise}")
Ce code affichera chaque dictionnaire divisé séparément ainsi que sa valeur correspondante.
Exemple complet
mon_dict = {
'pomme': 10,
'banane': 12,
'orange': 9,
'raisin': 10,
'kiwi': 12,
'ananas': 9
}
valeurs_uniques = set(mon_dict.values())
dictionnaires_divises = {valeur: {} for valeur in valeurs_uniques}
for cle, valeur in mon_dict.items():
dictionnaires_divises[valeur][cle] = valeur
for valeur, dictionnaire_divise in dictionnaires_divises.items():
print(f"Dictionnaire avec la valeur {valeur} : {dictionnaire_divise}")
Sortie
La sortie du code ci-dessus sera :
Dictionnaire avec la valeur 10 : {'pomme': 10, 'raisin': 10}
Dictionnaire avec la valeur 12 : {'banane': 12, 'kiwi': 12}
Dictionnaire avec la valeur 9 : {'orange': 9, 'ananas': 9}
Le dictionnaire d'origine a été divisé en trois dictionnaires distincts en fonction des valeurs. Chaque dictionnaire divisé contient les clés et les valeurs qui correspondent à une valeur spécifique du dictionnaire d'origine.
Et voilà ! Vous avez réussi à diviser un dictionnaire Python en plusieurs dictionnaires en fonction des valeurs.