Python

Comment fusionner des dictionnaires en Python

Comment fusionner des dictionnaires en Python
Le type de données du dictionnaire est utilisé en python pour stocker plusieurs valeurs avec des clés. Un nouveau dictionnaire peut être créé en fusionnant deux ou plusieurs dictionnaires. La fusion de données est requise lorsque vous devez combiner le même type de données stockées dans plusieurs dictionnaires. Par exemple, les données des employés par département de n'importe quelle entreprise sont stockées dans de nombreux dictionnaires. Pour générer une liste de tous les employés de l'entreprise, nous devrons fusionner les données de ces dictionnaires. De nombreuses façons existent en Python pour fusionner des dictionnaires. Comment vous pouvez fusionner des dictionnaires sont montrés dans cet article en utilisant divers exemples.

Exemple-1 : Fusionner deux dictionnaires simples

mettre à jour() méthode est utilisée en python pour combiner un dictionnaire avec un autre dictionnaire. L'exemple suivant montre l'utilisation de la méthode update(). Ici, deux dictionnaires sont déclarés nommés stdDic1 et stdDic2. Les valeurs de stdDic1 seront ajoutées à la fin de stdDic2. Ensuite, la boucle for est utilisée pour imprimer les clés et les valeurs du dictionnaire fusionné.

# Définir un dictionnaire de liste d'étudiants1
stdDic1 = 'Jony Lever':'English','Meena Ali':'CSE','John Micheal':'LAW'
# Définir un dictionnaire de liste d'étudiants2
stdDic2 = 'John Abraham':'CSE','Mily Hossain':'BBA','Ella Binte Nazir':'EEE'
# Fusionner le deuxième dictionnaire avec le premier dictionnaire
stdDic2.mettre à jour (stdDic1)
# Imprimer les clés et valeurs du dictionnaire fusionné
pour val dans stdDic2 :
print('\nNom :',val)
print('Département :',stdDic2[val])

Production:

Exécutez le script. La sortie suivante apparaîtra après l'exécution du script.

Exemple-2 : fusionner un dictionnaire simple et une liste de plusieurs dictionnaires

L'exemple suivant montre comment fusionner un dictionnaire avec une liste de plusieurs dictionnaires. Ici, un dictionnaire nommé isbn est déclaré pour stocker l'ISBN du livre en tant que clé et le type de livre en tant que valeur. Une liste de dictionnaires nommés livre est déclaré pour stocker le titre du livre et le nom de l'auteur. la méthode zip () est utilisée pour joindre les dictionnaires ou les tuples et la méthode dict () est utilisée pour créer un dictionnaire. Ces méthodes sont utilisées dans ce script pour créer un nouveau dictionnaire en fusionnant isbn et book. Ensuite, la boucle for est utilisée pour accéder aux valeurs du dictionnaire fusionné.

# Déclarez un dictionnaire simple
isbn = '67533344':'PHP','997544333':'Java','456688644':'VB.rapporter'
# Déclarer une liste de dictionnaires multiples
book = ['title': 'Murach PHP et MySQL', 'author': 'Joel Murach and Ray Harris',
'title': 'Java The Complete Reference', 'author': 'Herbert Schildt',
'title' : 'Début VB.NET', 'auteur' : 'Blair Richard, Matthew Reynolds, et
Thearon Willis']
# Créer un nouveau dictionnaire en fusionnant un seul et plusieurs dictionnaires
mrgDict = dict(zip(isbn, livre))
# Imprimer les clés et valeurs du dictionnaire fusionné
pour isbn dans mrgDict :
print('\nISBN:',isbn)
print('Nom du livre :',mrgDict[isbn]['titre'])
print('Nom de l'auteur :',mrgDict[isbn]['auteur'])

Production:

Exécutez le script. La sortie suivante apparaîtra après l'exécution du script.

Exemple-3 : fusionner deux dictionnaires à l'aide d'une fonction personnalisée

Deux dictionnaires peuvent être fusionnés en utilisant copie() et mettre à jour() méthodes en python. Ici, les valeurs d'origine du dictionnaire seront inchangées. mergeDic() la fonction est définie pour copier les valeurs du premier dictionnaire dans une variable nommée fusionné et ajoutez les valeurs du deuxième dictionnaire dans fusionné. Ensuite, les valeurs du dictionnaire fusionné sont imprimées.

# Déclarez deux dictionnaires
dict1 = "name": "Abir", "age": 25, "gender": "Homme"
dict2 = "profession": "Programmeur", "email": "[email protected]"
"Définir une fonction pour créer un nouveau dictionnaire fusionnant les deux clés
et valeurs, de dict1 et dict2"
def mergeDict(d1, d2) :
fusionné = d1.copie()
fusionné.mise à jour(d2)
retour fusionné
# Appelez la fonction pour fusionner
mrgDict = mergeDict(dict1,dict2)
# Imprimer les valeurs du dictionnaire fusionné
pour idval dans mrgDict :
print(idval,':',mrgDict[idval])

Production:

Exécutez le script. La sortie suivante apparaîtra après l'exécution du script.

Exemple-4 : Fusion de deux dictionnaires à l'aide de l'opérateur (**)

Les dictionnaires peuvent être fusionnés sans utiliser de fonction intégrée ou personnalisée en utilisant une seule expression. '**'L'opérateur est utilisé dans cet exemple pour fusionner deux dictionnaires. Ici, deux variables du dictionnaire nommées dict1 et dict2 sont déclarés, fusionnés en utilisant '**' opérateur avec les variables du dictionnaire et stocke les valeurs dans la variable, mrgDict.

# Déclarez deux dictionnaires
dict1 = "Moniteur": 500, "Souris": 100, "Clavier": 250
dict2 = "Disque dur": 300, "Imprimante": 50, "Souris":50
# Fusionner les dictionnaires en utilisant l'opérateur '**'
mrgDict = **dict2, **dict1
# Imprimer les valeurs du dictionnaire fusionné
pour val dans mrgDict :
print(val,':',mrgDict[val])

Production:

Exécutez le script. La sortie suivante apparaîtra après l'exécution du script.

Exemple-5 : Fusion de deux dictionnaires basés sur des clés communes

Lorsque deux dictionnaires contiennent la même clé et si la valeur de la clé est numérique, il peut être nécessaire de faire la somme des valeurs au moment de la fusion. Cet exemple montre comment les valeurs numériques des mêmes clés peuvent être ajoutées lors de la fusion de deux dictionnaires. Ici, deux dictionnaires nommés store1 et store2 sont déclarés. Les clés et les valeurs de store1 sont itérées dans la boucle for et vérifient quelles clés de store1 sont égales aux clés de store2. Si une clé existe, les valeurs de la clé seront ajoutées.

# Déclarez deux dictionnaires
store1 = 'Stylo' : 150, 'Crayon' : 250, 'Carnet de notes' : 100
store2 = 'Gomme' : 80, 'Stylo' : 50, 'Aiguiseur' : 30, 'Crayon' : 100
 
# Fusionner les valeurs de store2 avec store1 avec les clés communes
pour la clé en magasin1 :
si clé en magasin2 :
store1[clé] = store1[clé] + store2[clé]
autre:
passe
 
# Imprimer les clés et valeurs du dictionnaire fusionné
pour val en magasin1 :
print(val,':',store1[val])

Production:

Exécutez le script.  Ici, deux clés sont communes dans les dictionnaires. Ce sont 'Stylo' et 'Crayon' et les valeurs de ces clés sont ajoutées.

Exemple-6 : Fusion de toutes les valeurs des dictionnaires en comptant les clés communes

Dans l'exemple précédent, les valeurs communes de deux dictionnaires sont ajoutées en fonction d'un dictionnaire particulier. Cet exemple montre comment fusionner les valeurs de deux dictionnaires et ajouter les valeurs des clés communes au moment de la fusion. Compteur() méthode est utilisée dans le script pour ajouter les valeurs des clés communes.

# Module de compteur d'importation
des collections import compteur
# Déclarez deux dictionnaires
store1 = 'Stylo' : 150, 'Crayon' : 250, 'Carnet de notes' : 100
store2 = 'Gomme' : 80, 'Stylo' : 50, 'Aiguiseur' : 30, 'Crayon' : 100
 
# Fusionner les valeurs des dictionnaires basés sur des clés communes
mrgDic=Compteur(magasin1)+Compteur(magasin2)
 
# Imprimer les clés et valeurs du dictionnaire fusionné
pour val dans mrgDic :
print(val,':',mrgDic[val])

Production:

Exécutez le script. Ici, un dictionnaire contient trois éléments et un autre dictionnaire contient quatre éléments. Deux clés sont communes dans deux dictionnaires.

Conclusion:

Vous pouvez fusionner deux ou plusieurs dictionnaires en fonction de vos besoins de programmation. J'espère que la fusion de dictionnaires sera une tâche facile pour les utilisateurs de python après avoir pratiqué les exemples ci-dessus.

Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...
SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...
Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...