Python-Tutorial - Datentypsatz
- Python-Sets erzeugen
- Python Set Update
- Elemente aus einem Python-Set entfernen
- Python Set Operationen
- Python Set Methoden
- Andere Python-Set-Operationen
- Python Set Eingebaute Funktionen
- Python Frozenset
In diesem Abschnitt erfahren Sie, wie Sie Sets in Python erstellen und wie Sie Elemente zu Sets hinzufügen und aus Sets entfernen können.
Set enthält einzigartige Elemente und ist eine ungeordnete Liste von Elementen.
Set
ist ein veränderbares Objekt, so dass Sie Elemente zu einem Set hinzufügen und löschen können.Python-Sets erzeugen
Ein Satz in Python kann mit geschweiften Klammern {}
erstellt werden und die Elemente werden durch Kommas getrennt. Sie können ein Set auch mit der eingebauten Methode set()
erstellen.
Die Elemente eines Sets können von verschiedenen Datentypen sein. Die Elemente einer Menge sollten unveränderlich sein. Zum Beispiel können Sie ein Tupel als Element des Sets haben, aber Sie können kein Set oder Dictionary oder eine Liste als Elemente des Sets haben.
>>> x = {3, 5, 7, 2, 4, 5}
>>> print(x) #prints the set variable
{2, 3, 4, 5, 7}
>>> print(type(x)) #checking type of x
<class 'set'>
Sie könnten die set()
Methode mit leeren Parametern verwenden, um eine leere Liste zu erstellen. Wenn Sie {}
schreiben, um ein leeres Objekt zu erzeugen, wird es als ein Dictionary interpretiert:
>>> x = {}
>>> print(type(x))
<class 'dict'>
>>> x = set()
>>> print(type(x))
<class 'set'>
Python Set Update
Indizierung und Slicing können nicht verwendet werden, um Elemente einer Menge zu ändern, da Menge
kein geordneter Datentyp ist.
Ein einzelnes Element kann in einer Menge mit der add()
Methode hinzugefügt werden. Wenn man mehr als ein Element in einem Set hinzufügen möchte, dann muss man die update()
Methode verwenden.
>>> s = {2, 4}
>>> print(s)
{2, 4}
>>> s.add(6)
>>> print(s)
{2, 4, 6}
>>> s.update([2, 4, 6])
>>> print(s)
{2, 4, 6}
>>> s.update([5,6], {7, 8, 9})
>>> print(s)
{2, 4, 5, 6, 7, 8, 9}
Elemente aus einem Python-Set entfernen
Um ein Element aus einer Menge zu entfernen, können Sie entweder die discard()
Methode oder die remove()
Methode verwenden.
Der Unterschied zwischen diesen Methoden ist, dass die discard()
Methode nichts abfragt, wenn das zu löschende Element nicht in der Menge ist, während remove()
einen Fehler erzeugt, wenn das zu löschende Element nicht gefunden wird.
>>> s = {2, 4, 5, 6, 7, 8, 9}
>>> print(s)
{2, 4, 5, 6, 7, 8, 9}
>>> s.discard(6)
>>> print(s)
{2, 4, 5, 7, 8, 9}
>>> s.remove(8)
>>> print(s)
{2, 4, 5, 7, 9}
>>> s.discard(6) #no error
>>> s.remove(8) #generated an error
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
s.remove(8)
KeyError: 8
Sie können auch pop()
benutzen, um ein Element aus einer Menge zu entfernen. pop()
entfernt und gibt ein arbiträres Mengenelement zurück.
>>> s = set("Python")
>>> s
{'o', 'n', 'h', 'P', 'y', 't'}
>>> s.pop()
o
>>> s.pop()
n
>>> s
{'h', 'P', 'y', 't'}
>>> s.clear()
>>> print(s)
set()
Sie können die set clear()
Methode benutzen, um alle Elemente der Menge zu löschen.
>>> s = set("Python")
>>> s.clear()
>>> s
set()
Python Set Operationen
Sie können Operationen wie Vereinigung
, Schnittmenge
, Differenz
und symmetrische_Differenz
durchführen.
Angenommen, du hast zwei Sätze x
und y
:
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 10, 11, 12}
Vereinigung
Die Vereinigung von zwei Sets ergibt ein neues Set, das alle Elemente beider Sets enthält.
Um die Vereinigung durchzuführen, kann man entweder den |
Operator oder die union()
Methode verwenden.
>>> print(x | y)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
#using union() method on x
>>> x.union(y)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
#union on y
>>> y.union(x)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
Python-Mengenüberschneidung
Die Schnittmenge zweier Sets ergibt ein neues Set, das die in beiden Sets gemeinsamen Elemente enthält.
Um eine Schnittmengenoperation durchzuführen, können Sie entweder den &
Operator oder die intersection()
Methode verwenden.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x & y)
{1, 2, 6}
#using intersection() method on x
>>> x.intersection(y)
{1, 2, 6}
#intersection on y
>>> y.intersection(x)
{1, 2, 6}
Python Mengen Differenz
Die Differenz zweier Mengen ergibt eine neue Menge, die Elemente der ersten Menge enthält, die in der zweiten Menge nicht vorhanden sind.
Zum Beispiel ist x - y
ein Element von x
, das nicht in y
enthalten ist. Ähnlich ist y - x
ein Element von y
, das nicht in x
enthalten ist.
Um die Differenz durchzuführen, kann man entweder den -
Operator oder die difference()
Methode verwenden.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x - y)
{3, 4, 5}
#using difference() method on x
>>> x.difference(y)
{3, 4, 5}
#diference on y
>>> y.difference(x)
{8, 9, 7}
Python setzt Symmetrische Differenz
Die symmetrische Differenz zweier Mengen ergibt eine neue Menge, die Elemente enthält, die in beiden Mengen nicht gemeinsam sind.
Um die symmetrische Differenz durchzuführen, können Sie entweder den ^
-Operator oder die symmetric_difference()
Methode verwenden.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x ^ y)
{3, 4, 5, 7, 8, 9}
#using symmetric_difference() method on x
>>> x.symmetric_difference(y)
{3, 4, 5, 7, 8, 9}
#symmetric_diference on y
>>> y.symmetric_difference(x)
{3, 4, 5, 7, 8, 9}
Python Set Methoden
Die folgende Liste ist die Liste der Methoden, die auf Sets in Python angewendet werden können:
Methode | Beschreibung |
---|---|
add() |
ein Element zu einer Menge hinzufügen |
clear() |
die Elemente des Sets löschen (löscht das gesamte Set) |
copy() |
die Kopie eines Satzes zurückgeben |
difference() |
gibt eine neue Menge zurück, die Elemente der ersten Menge enthält, die in der zweiten Menge nicht vorhanden sind. |
difference_update() |
alle Elemente einer anderen Menge aus der aktuellen Menge entfernen |
discard() |
ein bestimmtes Element aus einer Menge entfernen |
intersection() |
geben ein neues Set zurück, das die in beiden Sets gemeinsamen Elemente enthält. |
intersection_update() |
eine Menge mit der Schnittmenge dieser Menge mit einer anderen Menge aktualisieren |
isdisjoint() |
gibt ein True zurück, wenn zwei Mengen einen Null-Schnittpunkt ergeben |
issubset() |
gibt ein True zurück, wenn ein anderer Satz den aktuellen Satz hat |
issuperset() |
gibt ein True zurück, wenn die aktuelle Menge eine andere Menge hat |
pop() |
ein Element aus einer Menge zurückgeben |
remove() |
ein bestimmtes Element aus einer Menge zu entfernen. Ist das Element nicht in der Menge, wird ein Fehler erzeugt. |
symmetric_difference() |
gibt ein neues Set zurück, das Elemente enthält, die in beiden Sets nicht gemeinsam sind. |
symmetric_difference_update() |
einen Satz mit der symmetrischen Differenz dieses Satzes mit einem anderen Satz aktualisieren |
union() |
geben ein neues Set zurück, das alle Elemente beider Sets enthält. |
update() |
ein Set mit der Vereinigung dieses Sets mit einem anderen Set aktualisieren |
Andere Python-Set-Operationen
Set Membership Check
Das Schlüsselwort in
prüft, ob ein Element ein Mitglied der Menge ist oder nicht.
>>> s = set("Blue")
>>> print('o' in s)
False
>>> print('l' in s)
True
Iterieren durch eine Menge
Sie können durch ein Set iterieren, indem Sie eine for
-Schleife verwenden:
for i in set("Blue"):
print(i)
Ergebnis:
B
l
u
e
Python Set Eingebaute Funktionen
Nachfolgend sind einige der eingebauten Funktionen aufgeführt, die mit Sets verwendet werden können, um verschiedene Aufgaben durchzuführen:
Funktionen | Beschreibung |
---|---|
all() |
geben True zurück, wenn alle Elemente der Menge True sind. Es gibt auch Waise zurück, wenn die Menge leer ist. |
any() |
gibt True zurück, wenn eines der Elemente der Menge True ist. Es gibt False zurück, wenn die Menge leer ist. |
enumerate() |
gibt den Index und den Wert aller Elemente der Menge als Tupel zurück. Es gibt ein enumerate Objekt zurück. |
len() |
gibt die Anzahl der Elemente in einem Set oder die Länge des Sets zurück. |
menge() |
einen Satz definieren. |
max() |
die maximale Position im Set zurückgeben. |
min() |
den Mindestposten im Set zurückgeben. |
sorted() |
gibt eine sortierte Liste von Elementen einer Menge zurück. |
sum() |
gibt die Summe aller Elemente der Menge zurück. |
Python Frozenset
Frozenset ist ein spezielles Set, dessen Elemente bei einmaliger Zuweisung nicht aktualisiert werden können. Frozensets sind unveränderliche Sets.
Da Sets veränderbar sind, können sie nicht als Schlüssel für im Dictionary verwendet werden, aber eingefrorene Sets sind unveränderlich, daher können Sie eingefrorene Sets als Dictionarieschlüssel verwenden.
Ein Frozenset kann mit der frozenset()
Methode erstellt werden.
Die folgenden sind einige der Methoden, die von frozenset unterstützt werden:
copy()
difference()
intersection()
isdisjoint()
issubset()
issuperset()
symmetric_difference()
union()
>>> x = frozenset([2,6,3,9])
>>> y = frozenset([6,1,2,4])
>>> x.difference(y)
frozenset({9, 3})
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook