3 einfache Möglichkeiten, Python-Wörterbücher zusammenzuführen


Erfahren Sie, wie Sie Python-Wörterbücher mithilfe integrierter Methoden, Entpacken und des Union-Operators effizient zusammenführen.

Wenn Sie mit Wörterbüchern in Python arbeiten, müssen Sie diese manchmal zur weiteren Verarbeitung in einem einzigen Wörterbuch zusammenführen.

In diesem Tutorial gehen wir drei gängige Methoden zum Zusammenführen von Python-Wörterbüchern durch. Konkret konzentrieren wir uns auf das Zusammenführen von Wörterbüchern mithilfe von:

  • Die Methode update()
  • Wörterbuch auspacken
  • Der Gewerkschaftsbetreiber

Fangen wir an.

Hinweis: Sie finden die Codebeispiele auf GitHub.

1. Verwenden der update()-Methode

Um zwei Wörterbücher zusammenzuführen, können Sie die Wörterbuchmethode update() verwenden. Sie können die Methode update() verwenden, um ein vorhandenes Wörterbuch mit Schlüssel-Wert-Paaren aus einem anderen Wörterbuch wie folgt zu aktualisieren:

dict1.update(dict2)

Hier :

  • dict1: Das ursprüngliche Wörterbuch, das aktualisiert werden soll.
  • dict2: Das Wörterbuch, dessen Schlüssel-Wert-Paare zu dict1 hinzugefügt werden.

Hinweis: Diese Methode ändert direkt das ursprüngliche Wörterbuch. Wenn Sie das nicht möchten, können Sie eine Kopie des Originalwörterbuchs erstellen und die Kopie aktualisieren.

Nehmen wir an, wir haben zwei Konfigurationswörterbücher, config1 und config2, die Konfigurationsinformationen für die Verbindung zu einer Datenbank enthalten:

config1 = {
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432
}

config2 = {
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

Lassen Sie uns nun eine Kopie von config1 mit config2 zusammenführen:

# Merge using update() method
final_config = config1.copy()  # Create a copy to avoid modifying the original config1
final_config.update(config2)

print(final_config)

Wie zu sehen ist, fügt die Methode update() alle Schlüssel-Wert-Paare von config2 zu final_config hinzu, was zu einem kombinierten Wörterbuch mit allen Konfigurationsinformationen führt .

Output >>>
{
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432,
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

2. Wörterbuch-Entpackung verwenden: {**dict1, **dict2}

Genauso wie Sie Tupel entpacken, können Sie auch Wörterbücher mit ** entpacken. Dadurch wird ein neues Wörterbuch erstellt, indem die Schlüssel-Wert-Paare aus beiden Wörterbüchern entpackt werden.

Angenommen, Sie haben die Wörterbücher dict1 und dict2. Sie können die Schlüssel-Wert-Paare entpacken und wie folgt in einem neuen Wörterbuch zusammenführen:

merged_dict = {**dict1, **dict2}

Lassen Sie uns die Konfigurationswörterbücher wie gezeigt zusammenführen:

config1 = {
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432
}

config2 = {
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

# Merge using dictionary unpacking
final_config = {**config1, **config2}

print(final_config)

Die Wörterbuch-Entpackmethode {**config1, **config2 erstellt ein neues Wörterbuch final_config, das alle Schlüssel-Wert-Paare aus beiden config1 enthält und config2.

Output >>>
{
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432,
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

3. Verwendung der Union | Operator

Der in Python 3.9 eingeführte Union-Operator ist eine weitere übersichtliche Möglichkeit, zwei Wörterbücher zusammenzuführen.

Sie können den Union-Operator wie folgt verwenden:

merged_dict = dict1 | dict2

Verwenden von dict1 | dict2 führt dict1 und dict2 zu einem neuen Wörterbuch zusammen.

config1 = {
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432
}

config2 = {
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

# Merge using | operator
final_config = config1 | config2

print(final_config)

Der |-Operator führt config1 und config2 in einem neuen Wörterbuch final_config zusammen:

Output >>>
{
	'database': 'Postgres',
	'host': 'localhost',
	'port': 5432,
	'username': 'admin',
	'password': 'secret',
	'timeout': 30
}

Zusammenfassung

Sehen wir uns die verschiedenen Methoden zum Zusammenführen von Python-Wörterbüchern an:

  • Die Methode update()dict1.update(dict2) – aktualisiert ein vorhandenes Wörterbuch.
  • {**dict1, **dict2} erstellt durch Entpacken ein neues zusammengeführtes Wörterbuch.
  • Die Gewerkschaft | Operator in Python 3.9+ führt Wörterbücher mit der einfachen Syntax dict1 | zusammen dict2.

Dies ist keine erschöpfende Liste, die alle Methoden zum Zusammenführen von Wörterbüchern abdeckt. Es gibt andere Methoden wie Listenverständnisse, das Erstellen einer zusammengeführten Ansicht von Wörterbüchern mithilfe von „collections.ChainMap“ und mehr. Dies sind jedoch die gebräuchlichsten Methoden zum Zusammenführen von Wörterbüchern.

Viel Spaß beim Codieren!

Bala Priya C ist eine Entwicklerin und technische Redakteurin aus Indien. Sie arbeitet gerne an der Schnittstelle von Mathematik, Programmierung, Datenwissenschaft und Inhaltserstellung. Zu ihren Interessen- und Fachgebieten gehören DevOps, Datenwissenschaft und Verarbeitung natürlicher Sprache. Sie liebt es zu lesen, zu schreiben, zu programmieren und Kaffee zu trinken! Derzeit arbeitet sie daran, zu lernen und ihr Wissen mit der Entwickler-Community zu teilen, indem sie Tutorials, Anleitungen, Meinungsbeiträge und mehr verfasst. Bala erstellt außerdem ansprechende Ressourcenübersichten und Programmier-Tutorials.