Umfassender Leitfaden zu Python-Set-Methoden
In diesem Artikel werden wir die verschiedenen Methoden für Python-Sets erkunden, die ungeordnete Sammlungen eindeutiger Elemente sind. Sets können für eine Vielzahl von Aufgaben verwendet werden, wie das Entfernen von Duplikaten, das Durchführen von Mengenoperationen wie Vereinigung, Schnittmenge und Differenz sowie das Testen der Mitgliedschaft und von Teilmengen. Durch das Beherrschen der Set-Methoden können Sie Ihre Python-Kenntnisse verbessern und effizienteren sowie eleganteren Code schreiben.
Sets erstellen und initialisieren
Um ein Set zu erstellen, können Sie die geschweiften Klammern {}-Notation oder die integrierte set()-Funktion verwenden. Wenn Sie ein Set mit einigen Elementen initialisieren möchten, können Sie die gleiche Syntax wie für Listen, Tupel oder Strings verwenden, jedoch ohne Duplikate. Zum Beispiel:
Sets in Python erstellen
fruits = {'apple', 'banana', 'cherry'}
colors = set(['red', 'green', 'blue'])
vowels = set('aeiou')Beachten Sie, dass die Reihenfolge der Elemente beliebig ist und sich zwischen den Läufen ändern kann, da Sets mit Hash-Tabellen implementiert sind.
Grundlegende Mengenoperationen
Sobald Sie einige Sets erstellt haben, können Sie verschiedene Operationen damit durchführen. Die häufigsten sind:
- Vereinigung (Union): kombiniert die Elemente von zwei oder mehr Sets zu einem neuen Set, das alle eindeutigen Elemente enthält.
Sets in Python vereinigen
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.union(B, C))- Schnittmenge (Intersection): findet die gemeinsamen Elemente von zwei oder mehr Sets, d. h. die Elemente, die zu allen gehören.
Schnittmenge von Sets in Python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.intersection(B, C))- Differenz: entfernt die Elemente eines Sets aus einem anderen Set, d. h. die Elemente, die nur zum ersten Set gehören.
Differenz von Sets in Python
A = {1, 2, 3}
B = {2, 3, 4}
A.difference(B)- Symmetrische Differenz: findet die Elemente, die genau zu einem der beiden Sets gehören, d. h. die Elemente, die nicht beiden Sets gemeinsam sind.
Symmetrische Differenz von Sets in Python
A = {1, 2, 3}
B = {2, 3, 4}
print(A.symmetric_difference(B))- Teilmenge und Obermenge: prüft, ob ein Set eine Teilmenge oder eine Obermenge eines anderen Sets ist, d. h. ob alle Elemente des ersten Sets auch im zweiten Set enthalten sind oder umgekehrt.
Teilmenge und Obermenge in Python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.issubset(B))
# False
print(A.issubset(A.union(B)))
# True
print(A.issuperset(B))
# False
print(A.union(B).issuperset(A))
# TrueSets modifizieren
Sets sind veränderbare Objekte, das bedeutet, dass Sie Elemente hinzufügen oder entfernen oder sie mit den Elementen anderer Sets aktualisieren können. Die häufigsten Methoden zum Modifizieren von Sets sind:
- Add: fügt ein neues Element in das Set ein, falls es noch nicht vorhanden ist.
Element zu einem Python-Set hinzufügen
A = {1, 2, 3}
A.add(0)
print(A)- Remove: entfernt ein Element aus dem Set und löst einen
KeyErroraus, falls es nicht vorhanden ist.
Element aus einem Python-Set entfernen
A = {0, 1, 2, 3}
A.remove(0)
print(A)- Discard: entfernt ein Element aus dem Set, ohne einen Fehler auszulösen, falls es nicht vorhanden ist.
Element aus einem Python-Set verwerfen
A = {0, 1, 2, 3}
A.discard(0)
print(A)- Pop: entfernt und gibt ein beliebiges Element aus dem Set zurück und löst einen
KeyErroraus, falls es leer ist.
Pop von einem Python-Set
A = {1, 2, 3}
A.pop()
print(A)- Update: fügt die Elemente von einem oder mehreren Sets in das Set ein und ignoriert Duplikate.
Ein Set in Python mit einem anderen Set aktualisieren
A = {1, 2, 3}
B = {2, 3, 4}
A.update(B)
print(A)- Clear: entfernt alle Elemente aus dem Set und macht es leer.
Ein Set in Python leeren
A = {1, 2, 3}
A.clear()
print(A)Zusammenfassung der Set-Methoden
Hier ist eine Zusammenfassung der Set-Methoden, die wir in diesem Artikel behandelt haben:
| Methodenname | Beschreibung |
|---|---|
union(*others) | Gibt ein neues Set zurück, das die Vereinigung des aktuellen Sets mit einem oder mehreren anderen Sets enthält. |
intersection(*others) | Gibt ein neues Set zurück, das die Schnittmenge des aktuellen Sets mit einem oder mehreren anderen Sets enthält. |
difference(*others) | Gibt ein neues Set zurück, das die Differenz des aktuellen Sets zu einem oder mehreren anderen Sets enthält. |
symmetric_difference(other) | Gibt ein neues Set zurück, das die symmetrische Differenz des aktuellen Sets zu einem anderen Set enthält. |
issubset(other) | Gibt True zurück, wenn das aktuelle Set eine Teilmenge eines anderen Sets ist. |
issuperset(other) | Gibt True zurück, wenn das aktuelle Set eine Obermenge eines anderen Sets ist. |
add(elem) | Fügt ein Element zum aktuellen Set hinzu. |
remove(elem) | Entfernt ein Element aus dem aktuellen Set und löst einen Fehler aus, falls es nicht vorhanden ist. |
discard(elem) | Entfernt ein Element aus dem aktuellen Set, ohne einen Fehler auszulösen, falls es nicht vorhanden ist. |
pop() | Entfernt und gibt ein beliebiges Element aus dem aktuellen Set zurück und löst einen Fehler aus, falls es leer ist. |
update(*others) | Fügt die Elemente von einem oder mehreren anderen Sets zum aktuellen Set hinzu. |
Praxis
Welche der folgenden sind Methoden, die in Python für Sets verwendet werden können?