Schnittpunkt des Python-Wörterbuchs
- Python-Wörterbuch
- Verwenden Sie Wörterbuchverständnis, um zwei Wörterbücher in Python zu überschneiden
-
Verwenden Sie den bitweisen
&
-Operator, um zwei Wörterbücher in Python zu überschneiden -
Verwenden Sie die Methode Set
intersection()
, um zwei Wörterbücher in Python zu schneiden - Methoden, die beim Überschneiden mehrerer Wörterbücher in Python verwendet werden
- Abschluss
In diesem Artikel werden die verschiedenen Methoden zum Durchführen von Schnittmengen für zwei oder mehrere Wörterbücher in Python erörtert.
Python-Wörterbuch
Die Daten werden in einem Schlüssel-Wert-Paar-Format unter Verwendung eines Python-Wörterbuchs gespeichert, und es handelt sich um eine veränderliche Datenstruktur. Der Dictionary-Datentyp von Python kann reale Datenanordnungen nachahmen, bei denen ein bestimmter Wert für einen bestimmten Schlüssel vorhanden ist.
Schlüssel und Werte sind die Elemente, die zum Definieren des Wörterbuchs verwendet werden:
- Schlüssel sollten ein einzelnes Element sein.
- Der Wert kann ein beliebiger Typ sein, z. B. eine Liste, eine ganze Zahl, ein Tupel usw.
Ein Wörterbuch ist mit anderen Worten eine Gruppe von Schlüssel-Wert-Paaren, wobei der Wert ein beliebiges Python-Objekt sein kann. Die Schlüssel hingegen sind unveränderliche Python-Objekte wie Strings, Tupel oder Zahlen.
Mehrere Schlüssel-Wert-Paare können verwendet werden, um ein Wörterbuch zu erstellen, wobei ein Doppelpunkt jeden Schlüssel von seinem Wert trennt, bevor jedes Paar in geschweiften Klammern steht.
Die Syntax ist wie folgt:
dict = {"Name": "John", "Age": 18, "Grade": "13"}
Schauen wir uns ein Beispiel an:
Verwenden Sie Wörterbuchverständnis, um zwei Wörterbücher in Python zu überschneiden
Wir können verschiedene Ansätze verwenden, um die Schnittmenge von Wörterbüchern über ihre Schlüssel in Python durchzuführen.
-
Initialisieren Sie zunächst die ursprünglichen Wörterbücher in
dict01
unddict02
. -
Drucken Sie die Originalwörterbücher.
-
Betrachten Sie als nächstes den Schlüssel von
dict01
alsk1
und führen Sie diefor
-Schleife aus, um zu prüfen, ob dask1
indict01
indict02
existiert. Wenn es den gemeinsamen Schlüssel hat, wird sein Wert in ein neues Wörterbuch namensintersection
geschoben (das Wörterbuch kann je nach Anforderung bevorzugt werden). -
Drucken Sie das neue Wörterbuch
intersection
mit den gemeinsamen Schlüsseln und ihren Werten.
Beispiel:
# inititializing the dictionaries
dict01 = {"A": 1, "B": 6, "C": 3, "D": 5}
dict02 = {"A": 1, "C": 4, "D": 5, "E": 2}
# printing original dictionary
print("First original dictionary: ", dict01)
print("Second original dictionary: ", dict02)
# performing intersection
intersection = {k1: dict01[k1] for k1 in dict01 if k1 in dict02}
# printing output
print("Intersected Dictionary: ", str(intersection))
Sie erhalten die unten aufgeführte Ausgabe, wenn Sie den obigen Code ausführen.
Betrachten Sie den Schlüssel von dict02
als k2
. Führen Sie die for
-Schleife aus, um zu prüfen, ob k2
in dict02
auch in dict01
existiert, indem Sie denselben Code befolgen.
Zusätzlich, wenn die Werte vom Typ String sind:
# inititializing the dictionaries
dict01 = {1: "My", 2: "I", 3: "age"}
dict02 = {1: "name", 2: "live", 4: "year"}
# defining a function to merge strings
def mergeStrings(str01, str02):
return str01 + " " + str02
# performing intersection
intersectString = {
k1: mergeStrings(dict01[k1], dict02[k1]) for k1 in dict01.keys() if k1 in dict02
}
# printing output
print(intersectString)
Schauen wir uns das Ergebnis des obigen Codes an:
Verwenden Sie den bitweisen &
-Operator, um zwei Wörterbücher in Python zu überschneiden
Es filtert einfach die gemeinsamen Schlüssel und den entsprechenden Wert des Schlüssels aus den Wörterbüchern. Es filtert nur Schlüssel mit demselben Wert, und dieser Ansatz ist viel einfacher zu verstehen und anzuwenden.
-
Stellen Sie zunächst
dict01
unddict02
zunächst mit den Originalwörterbüchern ein. -
Drucken Sie als Nächstes die Originalwörterbücher aus.
-
Als nächstes konvertieren Sie die Wörterbücher
dict01
unddict02
mit der Funktionitems()
in das Listenformat. -
Führen Sie dann das UND mit dem Operator
&
aus. Die gemeinsamen Key-Value-Paare werden dann mit der Funktiondict()
in ein Dictionary umgewandelt und im neuen Dictionaryintersection
gespeichert. -
Drucken Sie abschließend das neue Wörterbuch.
Beispiel:
# inititializing dictionary
dict01 = {"A": 1, "B": 6, "C": 3, "D": 5}
dict02 = {"A": 1, "C": 4, "D": 5, "E": 2}
# printing original dictionary
print("First original dictionary: ", dict01)
print("Second original dictionary: ", dict02)
# performing intersection
intersection = dict(dict01.items() & dict02.items())
# printing output
print("Intersected Dictionary", str(intersection))
Sie erhalten das folgende Ergebnis, wenn Sie den obigen Code ausführen.
Beim Durchführen des bitweisen &
-Operators für die Schnittmenge des Python-Wörterbuchs sollten sowohl die Schlüssel als auch die Werte der jeweiligen Schlüssel gleich sein.
Verwenden Sie die Methode Set intersection()
, um zwei Wörterbücher in Python zu schneiden
Die Methode set intersection()
gibt eine Menge zurück, die sich wie folgt aus den Elementen zusammensetzt, die in beiden Mengen m
und n
vorhanden sind:
m = {"A": 1, "B": 6, "C": 3, "D": 5}
n = {"A": 1, "D": 5, "E": 2}
setM = set(m)
setN = set(n)
setM.intersection(setN)
for item in setM.intersection(setN):
print(item)
Wenn Sie den obigen Beispielcode ausführen, erhalten Sie die folgenden Ergebnisse.
Methoden, die beim Überschneiden mehrerer Wörterbücher in Python verwendet werden
Wir können sowohl den bitweisen &
-Operator als auch die Set intersection()
-Methode verwenden, um die Elemente, die sich in mehreren Wörterbüchern mit weiterer Codierung überschneiden, einfach zu finden.
Verwendung des bitweisen &
-Operators:
# inititializing dictionary
dict01 = {"A": 1, "B": 6, "C": 3, "D": 5}
dict02 = {"A": 1, "C": 4, "D": 5, "E": 2}
dict03 = {"A": 1, "C": 9, "D": 5, "E": 1}
# printing original dictionary
print("First original dictionary: ", dict01)
print("Second original dictionary: ", dict02)
print("Third original dictionary: ", dict03)
# performing intersection
intersection = dict(dict01.items() & dict02.items() & dict03.items())
# printing output
print("Intersected Dictionary", str(intersection))
Schauen wir uns das Ergebnis nach der Ausführung des obigen Codes an:
Verwendung der Methode Set intersection()
:
m = {"A": 1, "B": 6, "D": 5, "E": 2}
n = {"A": 1, "D": 5, "E": 2}
t = {"A": 1, "C": 4, "D": 5, "E": 2}
setM = set(m)
setN = set(n)
setT = set(t)
setM.intersection(setN).intersection(setT)
for item in setM.intersection(setN).intersection(setT):
print(item)
Schauen wir uns das Ergebnis nach der Ausführung des obigen Codes an:
Abschluss
Zum Abschluss haben wir über schnelle und effiziente Möglichkeiten nachgedacht, um zwei oder mehrere Wörterbücher in Python zu überschneiden, um ein neues zu erstellen. Sie können jeden Ansatz auswählen, den Sie je nach Ihren Vorlieben und Ihrem Anwendungsfall benötigen.
Wir haben die Schnittmenge von zwei oder mehr Wörterbüchern gefunden, die alle nur auf der Ebene von Schlüsseln und Schlüssel-Wert-Paaren liegen und manchmal unterschiedliche Funktionen für die gemeinsamen Schlüssel verwenden. Diese Methoden sind sicherlich nicht die einzigen; Sie können sich mehr vorstellen, und vielleicht werden in späteren Versionen von Python explizitere Methoden für diese Aufgaben hinzugefügt.
Obwohl fast alle vorgeschlagenen Code-Bits Einzeiler sind, sind sie alle klar und elegant.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
Verwandter Artikel - Python Dictionary
- Wie man prüft, ob ein Schlüssel in einem Dictionary in Python vorhanden ist
- Konvertieren eines Dictionaries in eine Liste in Python
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie finde ich den Maximalwert im Python-Dictionary
- Wie man ein Python-Dictionary nach Wert sortiert
- Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann