Was ist ein Set in Python und wie erstelle ich ein Set?

Python-Set ist ein eindeutiges Literal zum Filtern bestimmter Werte in einer Liste oder einem Array von Elementen. Im Gegensatz zu einer Python-Liste, einem Wörterbuch oder einem Tupel werden keine Duplikate akzeptiert. So kann es ein wertvolles Datenbereinigungswerkzeug sein.

Aber wie können Sie ein Set erstellen und in Python verwenden? Wir werden das in diesem Beitrag erklären.

Funktionen von Python-Sets

Ein Set-Literal akzeptiert nicht nur keine Duplikate, sondern weist auch andere Merkmale auf, die es von anderen Datentypen unterscheiden. Hier sind einige seiner Funktionen:

  • Es ist unveränderlich: Das bedeutet, dass Sie die Werte eines Sets nach dem Erstellen nicht mehr ändern können.
  • Ein festgelegtes Literal gibt bei jeder Erstellung eine dynamische Anordnung zurück. Im Wesentlichen sind die Elemente in einem Satz ungeordnet.
  • Da im Gegensatz zu Listen- und Wörterbuchliteralen ungeordnete Elemente angezeigt werden, können Sie die Werte einer Menge nicht anhand ihrer Indizes abrufen.

So erstellen und verwenden Sie ein Python-Set

Jetzt, da Sie die Grundfunktionen eines Python-Sets kennen. Sehen wir uns einige Möglichkeiten an, wie Sie es in Ihrem Programm verwenden können.

Sie verwenden geschweifte Klammern, um einen Satz in Python zu erstellen. Ein Satz ist also eine Liste von Elementen in geschweiften Klammern, die durch Kommas getrennt sind:

 mySet = {1, 2, "MUO", "Google"}
print(mySet)
Output: {1, 2, "MUO", "Google"}

Sie können auch jeden anderen Datentyp in einen Satz konvertieren. Der folgende Code konvertiert beispielsweise eine Liste in eine Menge:

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, "MUO", "Google"}

Um sicherzugehen, können Sie den Datentyp von mySet überprüfen :

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(type(mySet))
Output: <class 'set'>

Wie bereits erwähnt, akzeptiert ein Set keine Duplikate. Diese Funktion kann nützlich sein, wenn Sie ein Array bereinigen möchten, indem Sie doppelte Werte entfernen.

Der folgende Code entfernt die Duplikate in einer Liste und präsentiert die Ausgabe als Python-Set:

 myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, 'MUO', 'Google'}

Um die Filterfunktion eines Satzes weiter zu demonstrieren, werden beim Drucken der Länge eines Satzes keine doppelten Werte gezählt:

 mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print(len(mySet))
Output: 4

Um einen besseren Anwendungsfall eines Satzes zu sehen, entfernen wir die Duplikate im folgenden Array. Es ist wie das Abfragen der eindeutigen Schlüssel in einem Array.

Konvertieren Sie dazu ein Wörterbuch in eine Menge:

 myDiction = {
"Mango":2, "Orange":2, "carrot":2, "MUO":"tech",
"MUO":"web", "Google":"search", "Google":"engine"
}
uniqueSet = set(myDiction)
print("These are the unique keys: {}".format(uniqueSet))
Output: These are the unique keys: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}

Die obige Konvertierung entfernt automatisch doppelte Elemente aus dem Array.

Sie können den obigen Code mit einer for-Schleife ändern, um ihn klarer zu machen:

 for uniques in uniqueSet:
print(uniques)

Sie können auch zwei Sätze mit der union () -Methode verbinden:

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union(setB)
print(newSet)
Output: {1, 3, 4, 5, 6}

Der obige Code verbindet jedoch die beiden Sätze und entfernt doppelte Werte.

Alternativ können Sie die Pipe | verwenden Funktion zum Verbinden von Sets in Python:

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA|setB
print(newSet)
Output: {1, 3, 4, 5, 6}

Sie können den Unterschied zwischen zwei Sätzen auch in Python finden:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.difference(setB))
Output: {1, 3}

Sie können den symmetrischen Unterschied zwischen den Sätzen A und B ermitteln. Diese Methode gibt die Elemente in beiden Sätzen zurück, schließt jedoch deren Schnittpunkte aus. Mal sehen, wie das funktioniert:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA^setB)
Output: {1, 2, 3, 4}

Alternativ können Sie die Methode symmetric_difference () verwenden:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.symmetric_difference(setB))
Output: {1, 2, 3, 4}

Lassen Sie uns auch sehen, wie Sie den Schnittpunkt von Mengen unten finden können:

 setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection(setB, setC)
print(newSet)
Output: {1}

Während Sie in Python an eine Liste anhängen können, können Sie für ein Python-Set nicht dasselbe tun. Mit der Funktion add können Sie jedoch ein Element am Ende eines Satzes hinzufügen .

Die Python- Add- Funktion akzeptiert jedoch ein Argument, sodass Sie einer Menge nur ein Tupel hinzufügen können. Dies gibt eine verschachtelte Menge zurück:

 setA = {1, 3, 5}setC = {1, 3}
newSet = 1, 6
setC.add(newSet)
print(setC)
Output: {1, (1, 6), 3}

Python-Set verwendet die Methode isdisjoint () , um zu überprüfen, ob zwei Sets nicht verbunden sind. Es wird dann ein Boolescher Wert zurückgegeben:

 setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint(setB)
print("It's {} that setA is a disjoint of B".format(findDisjoint))
Output: It's False that setA is a disjoint of B

Um zu überprüfen, ob eine Menge eine Teilmenge einer anderen ist, ersetzen Sie isdisjoint () durch issubset () :

 findSubset = setA.issubset(setB)

Sie können ein Element aus einer Menge entfernen:

 setA = {1, 3, 5}
setA.remove(5)
print(setA)
Output: {1, 3}

Die clear () -Methode löscht die Elemente in einer Menge und gibt eine leere Menge zurück:

 setA = {1, 3, 5}
setA.clear()
print(setA)
Output: set()

Sie können ein beliebiges Element aus einer Menge entfernen und seinen Wert mit der Methode set.pop () zurückgeben :

 setA = {1, 3, 5}
print(setA.pop())

Sie können ein Python-Set auch mit der update () -Methode aktualisieren:

 setA = {1, 'b'}
setB = {2, 4, 5,}
print(setA.update(setB))
print(setA)
Output: {1, 2, 4, 5, 'b'}

Spielen Sie mit Python-Sets

Obwohl wir gesehen haben, wie Sie ein Set in Python verwenden können, gibt es noch andere praktische Möglichkeiten, es in Ihrem Code anzuwenden. Wie Sie gesehen haben, kann es sogar nützlich sein, wenn Sie Daten mit Python bereinigen.

Neben einem Satz haben andere Python-Datentypen oder -Arrays viele Verwendungszwecke und verschiedene Anwendungen. Versuchen Sie, mit ihnen herumzuspielen, um sie besser zu verstehen.