Python3-Mengen
Eine Menge ist eine ungeordnete Sammlung eindeutiger Elemente.
Elemente in einer Menge wiederholen sich nicht, und es lassen sich gängige Mengenoperationen wie Schnittmenge, Vereinigung und Differenz durchführen.
Geschweifte Klammern können verwendet werden{ }, um eine Menge zu erstellen, wobei die Elemente durch Kommas getrennt werden,, oder Sie können auch dieset()Funktion verwenden, um eine Menge zu erstellen.
Erstellungsformat:
parame = {value01,value02,...}
或者
set(value)
Das folgende ist ein einfaches Beispiel:
set1 = {1, 2, 3, 4} # 直接使用大括号创建集合
set2 = set([4, 5, 6, 7]) # 使用 set() 函数从列表创建集合
Hinweis:Um eine leere Menge zu erstellen, müssen Sie set()anstelle von{ }, da{ }zum Erstellen eines leeren Wörterbuchs verwendet wird.
Weitere Beispiel-Demonstrationen:
Beispiel (Python 3.0+)
>>> print(basket) # Hier wird die Deduplizierungsfunktion demonstriert
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # Schnell prüfen, ob ein Element in einer Menge enthalten ist
True
>>> 'crabgrass' in basket
False
>>> # Das Folgende zeigt Operationen zwischen zwei Mengen.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # Elemente, die in Menge a, aber nicht in Menge b enthalten sind
{'r', 'd', 'b'}
>>> a | b # Alle Elemente, die in Menge a oder Menge b enthalten sind
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # Elemente, die sowohl in Menge a als auch in Menge b enthalten sind
{'a', 'c'}
>>> a ^ b # Elemente, die nicht gleichzeitig in a und b enthalten sind
{'r', 'd', 'b', 'm', 'z', 'l'}
Ähnlich wie Listen-Comprehensions unterstützen Mengen auch Mengen-Comprehensions:
Beispiel (Python 3.0+)
>>> a
{'r', 'd'}
Grundlegende Mengenoperationen
1. Elemente hinzufügen
Das Syntaxformat lautet wie folgt:
s.add( x )
Element x zu Menge s hinzufügen; wenn das Element bereits vorhanden ist, wird keine Operation ausgeführt.
Beispiel (Python 3.0+)
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Example'}
Es gibt auch eine andere Methode, mit der Elemente hinzugefügt werden können, und ihr Parameter kann eine Liste, ein Tupel, ein Dictionary usw. sein. Das Syntaxformat ist wie folgt:
s.update( x )
Es können mehrere x-Werte angegeben werden, die durch Kommas getrennt sind.
Beispiel (Python 3.0+)
>>> thisset.update({1,3})
>>> print(thisset)
{1, 3, 'Google', 'Taobao', 'Example'}
>>> thisset.update([1,4],[5,6])
>>> print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Example'}
>>>
2. Elemente entfernen
Das Syntaxformat lautet wie folgt:
s.remove( x )
Element x aus Menge s entfernen; wenn das Element nicht vorhanden ist, tritt ein Fehler auf.
Beispiel (Python 3.0+)
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Example'}
>>> thisset.remove("Facebook") # Ein Fehler tritt auf, wenn das Element nicht existiert
Traceback (jüngster Aufruf zuletzt):
Datei "<stdin>", Zeile 1, in <Modul>
KeyError: 'Facebook'
>>>
Darüber hinaus gibt es eine weitere Methode, die ebenfalls Elemente aus einer Menge entfernt, und es tritt kein Fehler auf, wenn das Element nicht existiert. Das Format ist wie folgt:
s.discard( x )
Beispiel (Python 3.0+)
>>> thisset.discard("Facebook") # Es tritt kein Fehler auf, wenn das Element nicht existiert
>>> print(thisset)
{'Taobao', 'Google', 'Example'}
Wir können auch ein Element zufällig aus einer Menge löschen. Das Syntaxformat ist wie folgt:
s.pop()
Beispiel im Skriptmodus (Python 3.0+)
x = thisset.pop()
print(x)
Ausgabeergebnis:
Example
Die Testergebnisse sind bei mehrfacher Ausführung jedes Mal unterschiedlich.
Die pop-Methode einer Menge ordnet die Menge in einer ungeordneten Reihenfolge an und löscht dann das erste Element von links aus dieser ungeordneten Menge.
3. Zählen der Anzahl der Elemente in einer Menge
Das Syntaxformat lautet wie folgt:
len(s)
Zähle die Anzahl der Elemente in Menge s.
Beispiel (Python 3.0+)
>>> len(thisset)
3
4. Leeren einer Menge
Das Syntaxformat lautet wie folgt:
s.clear()
Leere Menge s.
Beispiel (Python 3.0+)
>>> thisset.clear()
>>> print(thisset)
set()
5. Prüfen, ob ein Element in einer Menge existiert
Das Syntaxformat lautet wie folgt:
x in s
Bestimme, ob Element x in Menge s enthalten ist; gib True zurück, wenn es existiert, und False, wenn nicht.
Beispiel (Python 3.0+)
>>> "Example" in thisset
True
>>> "Facebook" in thisset
False
>>>
Vollständige Liste der eingebauten Set-Methoden
| Methode | Beschreibung |
|---|---|
| add() | Elemente zu einer Menge hinzufügen |
| clear() | Alle Elemente aus einer Menge entfernen |
| copy() | Eine Menge kopieren |
| difference() | Die Differenz mehrerer Mengen zurückgeben |
| difference_update() | Ein Element aus einer Menge entfernen, wenn es auch in der angegebenen Menge vorhanden ist. |
| discard() | Das angegebene Element aus einer Menge löschen |
| intersection() | Die Schnittmenge von Mengen zurückgeben |
| intersection_update() | Die Schnittmenge von Mengen zurückgeben. |
| isdisjoint() | Bestimmen Sie, ob zwei Mengen dieselben Elemente enthalten; geben Sie True zurück, wenn nicht, andernfalls False. |
| issubset() | Bestimmen Sie, ob die angegebene Menge eine Teilmenge der Parametermenge dieser Methode ist. |
| issuperset() | Bestimmen Sie, ob die Parametermenge dieser Methode eine Teilmenge der angegebenen Menge ist. |
| pop() | Ein Element zufällig entfernen |
| remove() | Das angegebene Element entfernen |
| symmetric_difference() | Gibt eine Menge von Elementen zurück, die in den beiden Mengen nicht doppelt vorkommen. |
| symmetric_difference_update() | Entfernt aus der aktuellen Menge die Elemente, die mit denen in einer anderen angegebenen Menge übereinstimmen, und fügt die unterschiedlichen Elemente aus der anderen angegebenen Menge in die aktuelle Menge ein. |
| union() | Gibt die Vereinigung zweier Mengen zurück |
| update() | Elemente zu einer Menge hinzufügen |
| len() | Zählt die Anzahl der Elemente in einer Menge |