logo

Python | Fusionner deux dictionnaires

En Python, un dictionnaire est une structure de données qui contient l'élément de la paire clé-valeur dans laquelle les clés sont utilisées pour accéder aux valeurs du dictionnaire. Python a des dictionnaires intégrés comme defaultdict. Dans cet article, nous verrons différentes manières de fusionner deux dictionnaires.

Exemple



  Input:   dict1 = {'a': 10, 'b': 8}  dict2 = {'d': 6, 'c': 4}   Output:   {'a': 10, 'b': 8, 'd': 6, 'c': 4}>

Fusionner deux dictionnaires en Python

Il existe différentes manières de Dictionnaires peut être fusionné en utilisant diverses fonctions et constructeurs en Python. Voici quelques méthodes suivantes :

  • En utilisant mise à jour()
  • En utilisant opérateur de déballage
  • Utilisation de la fusion | opérateur
  • Utiliser des boucles et clés() méthode
  • Utiliser le constructeur dict
  • Utilisation du constructeur dict() avec l'opérateur union (|)
  • En utilisant réduire()

Mise à jour Python()

En utilisant la méthode mise à jour() en Python, une liste peut être fusionnée dans une autre. Mais en cela, la deuxième liste est fusionnée avec la première liste et aucune nouvelle liste n’est créée. Il revient Aucun . Dans cet exemple, nous utilisons la fonction update pour fusionner deux dictionnaires.

Python
# Python code to merge dict using update() method def Merge(dict1, dict2): return(dict2.update(dict1)) # Driver code dict1 = {'a': 10, 'b': 8} dict2 = {'d': 6, 'c': 4} # This returns None print(Merge(dict1, dict2)) # changes made in dict2 print(dict2)>

Sortir:



None {'c': 4, 'a': 10, 'b': 8, 'd': 6}>

Complexité temporelle : Sur)
Espace auxiliaire : O(1)

jpa au printemps

Opérateur de décompression Python

L'utilisation de ** [double étoile] est un raccourci qui vous permet de transmettre plusieurs arguments à une fonction directement à l'aide d'un dictionnaire. Pour plus d'informations, reportez-vous **kwargs en Python . En utilisant cela, nous passons d’abord tous les éléments du premier dictionnaire dans le troisième, puis passons le deuxième dictionnaire dans le troisième. Cela remplacera les clés en double du premier dictionnaire.

Python
# Python code to merge dict using a single  # expression def Merge(dict1, dict2): res = {**dict1, **dict2} return res # Driver code dict1 = {'a': 10, 'b': 8} dict2 = {'d': 6, 'c': 4} dict3 = Merge(dict1, dict2) print(dict3)>

Sortir
{'a': 10, 'b': 8, 'd': 6, 'c': 4}>

Complexité temporelle : O(1)
Complexité auxiliaire : Sur)



Fusionner des dictionnaires Python à l'aide de | en Python 3.9

Dans la dernière mise à jour de Python, nous pouvons désormais utiliser | opérateur pour fusionner deux dictionnaires. C'est une méthode très pratique pour fusionner des dictionnaires. Dans cet exemple, nous utilisons | opérateur pour fusionner deux dictionnaires.

Python
# code # Python code to merge dict using a single  # expression  def Merge(dict1, dict2): res = dict1 | dict2 return res # Driver code  dict1 = {'x': 10, 'y': 8} dict2 = {'a': 6, 'b': 4} dict3 = Merge(dict1, dict2) print(dict3) # This code is contributed by virentanti16>

Sortir:

télécharger autocad 2019 anglais mediafire
{'x': 10, 'a': 6, 'b': 4, 'y': 8}>

Complexité temporelle : O(1)
Espace auxiliaire : SUR)

Utilisation de la méthode for loop et key()

Dans cet exemple, nous utilisons une boucle et clé() méthode pour fusionner deux dictionnaires.

Python
# code # Python code to merge dictionary def Merge(dict1, dict2): for i in dict2.keys(): dict1[i]=dict2[i] return dict1 # Driver code dict1 = {'x': 10, 'y': 8} dict2 = {'a': 6, 'b': 4} dict3 = Merge(dict1, dict2) print(dict3) # This code is contributed by Bhavya Koganti>

Sortir
{'x': 10, 'y': 8, 'a': 6, 'b': 4}>

Dictionnaires de fusion Python à l'aide de la classe ChainMap

Dans cet exemple, nous fusionnons des dictionnaires en Python en utilisant le module intégré Carte de chaîne classe de la collections module. Cette classe vous permet de créer une vue unique de plusieurs dictionnaires, et toutes les mises à jour ou modifications apportées au ChainMap seront reflétées dans les dictionnaires sous-jacents.

Python
from collections import ChainMap # create the dictionaries to be merged dict1 = {'a': 1, 'b': 2} dict2 = {'c': 3, 'd': 4} # create a ChainMap with the dictionaries as elements merged_dict = ChainMap(dict1, dict2) # access and modify elements in the merged dictionary print(merged_dict['a']) # prints 1 print(merged_dict['c']) # prints 3 merged_dict['c'] = 5 # updates value in dict2 print(merged_dict['c']) # prints 5 # add a new key-value pair to the merged dictionary merged_dict['e'] = 6 # updates dict1 print(merged_dict['e']) # prints 6>

Sortir
1 3 5 6>

Fusionner deux dictionnaires en Python à l'aide du constructeur dict :

Dans cet exemple, nous utilisons le constructeur dict pour fusionner deux dictionnaires.

Python
def merge_dictionaries(dict1, dict2): merged_dict = dict1.copy() merged_dict.update(dict2) return merged_dict # Driver code dict1 = {'x': 10, 'y': 8} dict2 = {'a': 6, 'b': 4} print(merge_dictionaries(dict1, dict2))>

Sortir
{'x': 10, 'y': 8, 'a': 6, 'b': 4}>

Complexité temporelle : SUR)
Espace auxiliaire : SUR)

Fusionner des dictionnaires Python à l'aide du constructeur dict() et de l'opérateur union (|)

Cette méthode utilise le constructeur dict() avec l'opérateur union (|) pour fusionner deux dictionnaires. L'opérateur union combine les clés et les valeurs des deux dictionnaires, et toutes les clés communes dans les deux dictionnaires prennent la valeur du deuxième dictionnaire.

Python
# method to merge two dictionaries using the dict() constructor with the union operator (|) def Merge(dict1, dict2): # create a new dictionary by merging the items of the two dictionaries using the union operator (|) merged_dict = dict(dict1.items() | dict2.items()) # return the merged dictionary return merged_dict # Driver code dict1 = {'a': 10, 'b': 8} dict2 = {'d': 6, 'c': 4} # merge the two dictionaries using the Merge() function merged_dict = Merge(dict1, dict2) # print the merged dictionary print(merged_dict)>

Sortir
{'d': 6, 'b': 8, 'c': 4, 'a': 10}>

Complexité temporelle : O(n), où n est le nombre total de paires clé-valeur dans les deux dictionnaires.
Espace auxiliaire : O(n), où n est le nombre total de paires clé-valeur dans les deux dictionnaires

Python fusionne deux dictionnaires à l'aide de réduire() :

Dans cet exemple, nous fusionnons deux dictionnaires à l’aide de la fonction réduire(). Dans cette méthode, nous définissons une fonction de fusion puis prenons deux dictionnaires comme arguments et renvoyons leur fusion.

Python
from functools import reduce def merge_dictionaries(dict1, dict2): merged_dict = dict1.copy() merged_dict.update(dict2) return merged_dict dict1 = {'a': 10, 'b': 8} dict2 = {'d': 6, 'c': 4} dict_list = [dict1, dict2] # Put the dictionaries into a list result_dict = reduce(merge_dictionaries, dict_list) print(result_dict) #This code is contributed by Rayudu.>

Sortir
{'a': 10, 'b': 8, 'd': 6, 'c': 4}>

Complexité temporelle :O(n), où n est le nombre de dictionnaires dans la liste dict_list.
Complexité auxiliaire : O(m), où m est le nombre total de paires clé-valeur dans tous les dictionnaires.