logo

Pitone | Unione di due dizionari

In Python, un dizionario è una struttura dati che contiene l'elemento nella coppia chiave-valore in cui le chiavi vengono utilizzate per accedere ai valori nel dizionario. Pitone ha alcuni dizionari integrati come defaultdict. In questo articolo vedremo vari modi per unire due dizionari.

Esempio



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

Unire due dizionari in Python

Ci sono vari modi in cui Dizionari possono essere uniti utilizzando varie funzioni e costruttori in Python. Di seguito sono riportati alcuni modi seguenti:

invertendo la stringa in Java
  • Utilizzando aggiornamento()
  • Utilizzando operatore del disimballaggio
  • Utilizzando unisci | operatore
  • Utilizzando loop e chiavi() metodo
  • Utilizzando il costruttore dict
  • Utilizzando il costruttore dict() con l'operatore di unione (|)
  • Utilizzando ridurre()

Aggiornamento Python()

Utilizzando il metodo aggiornamento() in Python, una lista può essere unita a un'altra. Ma in questo caso, il secondo elenco viene unito al primo elenco e non viene creato alcun nuovo elenco. Ritorna Nessuno . In questo esempio, stiamo utilizzando la funzione di aggiornamento per unire due dizionari.

Pitone
# 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)>

Produzione:



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

Complessità temporale: SU)
Spazio ausiliario: O(1)

Operatore di decompressione Python

L'utilizzo di ** [doppia stella] è una scorciatoia che consente di passare più argomenti a una funzione direttamente utilizzando un dizionario. Per maggiori informazioni fare riferimento **kwargs in Python . Usandolo prima passiamo tutti gli elementi del primo dizionario nel terzo e poi passiamo il secondo dizionario nel terzo. Questo sostituirà le chiavi duplicate del primo dizionario.

Pitone
# 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)>

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

Complessità temporale: O(1)
Complessità ausiliaria: SU)



Dizionari Python Unisci utilizzando | in Python 3.9

Nell'ultimo aggiornamento di Python ora possiamo usare | operatore per unire due dizionari. È un metodo molto conveniente per unire i dizionari. In questo esempio utilizziamo | operatore per unire due dizionari.

Pitone
# 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>

Produzione:

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

Complessità temporale: O(1)
Spazio ausiliario: SU)

Utilizzo del metodo for loop e keys()

In questo esempio, stiamo usando loop e chiave() metodo per unire due dizionari.

Pitone
# 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>

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

Dizionari di unione Python utilizzando la classe ChainMap

In questo esempio, stiamo unendo i dizionari in Python utilizzando il built-in ChainMap classe da collezioni modulo. Questa classe consente di creare un'unica visualizzazione di più dizionari e qualsiasi aggiornamento o modifica apportata a ChainMap si rifletterà nei dizionari sottostanti.

Pitone
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>

Produzione
1 3 5 6>

Unisci due dizionari in Python usando il costruttore dict:

In questo esempio, stiamo utilizzando il costruttore dict per unire due dizionari.

Pitone
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))>

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

Complessità temporale: SU)
Spazio ausiliario: SU)

matrice di lattice

Dizionari Python Merge Utilizzando il costruttore dict() e l'operatore di unione (|)

Questo metodo utilizza il costruttore dict() con l'operatore di unione (|) per unire due dizionari. L'operatore di unione combina le chiavi e i valori dei due dizionari e qualsiasi chiave comune nei due dizionari prende il valore dal secondo dizionario.

Pitone
# 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)>

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

Complessità temporale: O(n), dove n è il numero totale di coppie chiave-valore in entrambi i dizionari.
Spazio ausiliario: O(n), dove n è il numero totale di coppie chiave-valore in entrambi i dizionari

Python Unisci due dizionari usando reduce():

In questo esempio, stiamo unendo due dizionari utilizzando la funzione reduce(). In questo metodo, definiamo una funzione di unione, quindi prendiamo due dizionari come argomenti e ne restituiamo l'unione.

Pitone
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.>

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

Complessità temporale: O(n), dove n è il numero di dizionari nell'elenco dict_list.
Complessità ausiliaria: O(m), dove m è il numero totale di coppie chiave-valore in tutti i dizionari.