Heim >Backend-Entwicklung >Python-Tutorial >So führen Sie zwei Wörterbücher in Python zusammen
Das Zusammenführen zweier Wörterbücher in Python ist ein relativ häufiges Problem. In diesem Artikel werden verschiedene Lösungen zum Zusammenführen und Vergleichen zweier Wörterbücher vorgestellt.
Für dieses Problem besteht die intuitivere Idee darin, die beiden Wörterbücher hinzuzufügen und den Wert dem Ergebniswörterbuch zuzuweisen. Der Code lautet:
Führen Sie die beiden Wörterbücher in Python zusammen (Methode 1 )
dictMerged1 = dict( dict1.items() + dict2.items() )
Das Zusammenführen dieser Methode dauert jedoch lange und der effizientere Code ist:
Zwei Python-Wörterbücher zusammenführen (Methode 2)
dictMerged2 = dict( dict1, **dict2 )
Diese Methode verwendet die Factory-Methode dict() (Python 2.2 oder höher). Wenn der Eingabeparameter ein anderes Wörterbuch ist (hier dict1), wird beim Aufruf der Factory-Methode der Inhalt von dict1 kopiert, um ein neues Wörterbuch zu generieren. Ab Python 2.3 ermöglicht diese Factory-Methode den Aufruf eines Wörterbuchs oder Schlüsselwortargument-Wörterbuchs.
Aber es sollte beachtet werden, dass dict() für diese Aufrufmethode nur höchstens einen Parameter (oder einen Satz von Parametern variabler Länge mit Name=Wert) und kein anderes Wörterbuch akzeptiert. Daher führt die intuitive Methode, einfach die beiden Parameter dict1 und dict2 zu verwenden, zu folgendem Fehler:
>>> dictMerged = dict( dict1, dict2 ) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: dict expected at most 1 arguments, got 2
Aus diesem Grund sehen wir, dass **dict2 in Methode 2 oben verwendet wird. Freunde, die mit C vertraut sind, sollten beachten, dass * hier keinen Zeiger bedeutet. Dies ist die Art und Weise, Funktionsparameter variabler Länge in Python zu schreiben (relevante Kenntnisse über Funktionsparameter variabler Länge finden Sie in diesem Artikel). Hier bedeutet ** wörterbuchbasierte Funktionsparameter variabler Länge.
Methode 2 führt den Code wie in Methode 3 unten aus, das heißt, zuerst kopiert dict1 nach dictMerged und führt dann die update()-Operation aus:
Führen Sie die beiden Python-Wörterbücher zusammen ( Methode 3)
dictMerged3 = dict1.copy() dictMerged3.update( dict2 )
Für den ersten Schritt des Kopiervorgangs ist diese Kopiermethode mit der integrierten Methode copy() dasselbe wie das Kopierergebnis in Methode 2, jedoch gemäß „Core Wie in Abschnitt 7.3.2 des Buches Python Programming (2. Auflage) erwähnt, ist die Methode zum Generieren eines neuen Wörterbuchs aus einem vorhandenen Wörterbuch dictNew = dict(dictOld) langsamer als die integrierte Methode dictNew = dictOld.copy(). Daher wird in diesem Buch die Verwendung der copy()-Methode empfohlen.
Daher ist Methode 3 von diesen Methoden die effizienteste und der Code ist einfacher zu lesen.
Verwandte Empfehlungen: „Python-Tutorial“
Das obige ist der detaillierte Inhalt vonSo führen Sie zwei Wörterbücher in Python zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!