Python Unisce i dizionari

Python Unisce i dizionari
Un dizionario si riferisce a una raccolta di oggetti non ordinati in coppie di valore chiave. I dizionari sono una struttura di dati popolare e versatile che può aiutare a archiviare i dati associati.

In Python, i dizionari sono mutabili. Ciò significa che possiamo modificare i valori di un dizionario dopo la dichiarazione.

Questo tutorial ti insegnerà vari modi per "concatenare" due dizionari in uno.

Usando l'operatore del tubo

In Python 3 e oltre, è possibile utilizzare l'operatore del tubo (|) per concatenare due dizionari in 1.

Un esempio è mostrato di seguito:

relazionale = 'mysql': 3306, 'postgresql': 5432, 'oracle': 1521
Altro = 'Redis': 6379, 'MongoDB': 27017
all = relazionale | altro
Stampa (tutto)

Il codice sopra dovrebbe aggiungere il secondo dizionario al primo in ordine di apparizione.

Ciò dovrebbe comportare un nuovo dizionario come mostrato:

'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando un ciclo per

Possiamo anche aggiungere due dizionari usando un per loop. Funziona iterando su ogni chiave e valore di un dizionario e aggiungendolo all'altro.

Un esempio è mostrato di seguito:

relazionale = 'mysql': 3306, 'postgresql': 5432, 'oracle': 1521
Altro = 'Redis': 6379, 'MongoDB': 27017
tutto = relazionale.copia () # copia l'array
per k, v in altro.elementi():
tutti [k] = v
Stampa (tutto)

Nell'esempio sopra, iniziamo copiando il primo dizionario nel dizionario che desideriamo aggiungere. Quindi succiamo su ogni chiave e valore del secondo dizionario utilizzando il metodo elementi ().

Infine, aggiungiamo la chiave e il valore al dizionario copiato.

L'output risultante è come mostrato:

'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Utilizzando l'operatore **

L'operatore ** Kwargs in Python ci consente di passare un numero qualsiasi di argomenti a una funzione. Quindi, possiamo usare questo trucco per disimballare i dizionari in un nuovo detto.

Un esempio è illustrato di seguito:

relazionale = 'mysql': 3306, 'postgresql': 5432, 'oracle': 1521
Altro = 'Redis': 6379, 'MongoDB': 27017
all = ** relazionale, ** altro
Stampa (tutto)

Il codice sopra dovrebbe restituire:

'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Utilizzando il metodo di aggiornamento

Possiamo anche usare il metodo update () nei dizionari di Python per unire due o più dizionari.

Un utilizzo di esempio è mostrato di seguito:

relazionale = 'mysql': 3306, 'postgresql': 5432, 'oracle': 1521
Altro = 'Redis': 6379, 'MongoDB': 27017
tutto = relazionale.copia()
Tutto.Aggiornamento (altro)
Stampa (tutto)

Nell'esempio sopra, iniziamo copiando il primo dizionario. Questo ci aiuta a prevenire sovrascrivere il primo dizionario.

Utilizzo del metodo a catena

Possiamo anche usare il metodo a catena dal modulo di raccolta per unire due dizionari.

La funzione a catena ci consente di raggruppare due o più dizionari in una singola vista aggiornabile.

Un esempio è come mostrato:

Dalle collezioni di catene di catena per importazione
All = ChainMap (relazionale, altro)
Stampa (tutto)

Il maineraggio dovrebbe prendere i dizionari come parametri e restituire un dizionario unito come mostrato:

ChainMap ('Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017)

Si noti che il tipo risultante non è un dizionario di Python nativo ma una classe.collezioni.Tipo a catena.

Conclusione

In questo articolo, ci siamo tuffati in vari metodi di fondere due o più dizionari in Python.