GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie Sets in Python

Erfahren Sie, wie Sie Sets in Python als Einstiegspunkt für Python-Lernende und Python-Programmierer verwenden, um fortgeschrittenere Konzepte wie Lambda-Funktionen, Map Reduce, Java Collections API und Python Collections-Schnittstelle zu lernen und/oder zu programmieren.

Dieses Tutorial befasst sich mit mehreren alltäglichen Anwendungsfällen der Set-Datenstruktur in der Programmiersprache Python mit Beispielen, die Ihnen helfen, die Konzepte besser zu verstehen.

Lesen Sie weiter, um loszulegen!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:

  • Python v3 oder neuere Umgebung installiert.
  • Ein Code-Editor zum Ausführen von Python-Code wie VS Code.

Erstellen Ihrer ersten Sets in Python

In Python sind zwei Datenstrukturen Listen, die geordnete Sammlungen veränderlicher Daten sind, und Wörterbücher, die Daten in Schlüssel-Wert-Paaren speichern. Veränderlich bedeutet, dass die Daten nach ihrer Erstellung verändert werden können. Legt gemeinsame Merkmale von Listen und Wörterbüchern fest. Mengen sind wie Listen veränderliche Sammlungen einzelner Elemente.

Im Gegensatz zu Listen haben Sets keinen Index, da sie keine Sequenz sind, wodurch Sets eher Wörterbüchern ähneln, die auch ungeordnete Sammlungen sind. Python optimiert sowohl Sätze als auch Wörterbücher für Nachschlagevorgänge und erhöht die Geschwindigkeit.

Sie können einen Schlüssel nachschlagen, um einen Wert in einem Wörterbuch zu erhalten, wie z. B. den Namen einer Person zu finden und dann ihre Telefonnummer zu erhalten, wenn Sie in einem Adressbuch suchen. Sets enthalten jedoch keine Schlüssel-Wert-Paare. Stattdessen schlagen Sie ein Element innerhalb von Mengen nach, um zu prüfen, ob es in der Menge vorhanden ist oder nicht. Dieses Konzept wird Mitgliedschaftstest genannt.

Um zu lernen, ist es Zeit, ein Set zu erstellen! Sie erstellen eine Menge, indem Sie einer Menge Elemente hinzufügen. Machen wir uns die Hände schmutzig!

1. Starten Sie eine interaktive Python-Sitzung im Terminal.

2. Sobald Ihre Python-Sitzung fertig ist, erstellen Sie einen Satz, indem Sie set() aufrufen -Methode und übergeben Sie alle Arten von Daten, die Sie hinzufügen möchten. Kopieren Sie den folgenden Code, fügen Sie ihn in Ihre Python-Sitzung ein und drücken Sie die Eingabetaste um Ihr erstes Set zu erstellen. Sie deklarieren die my_firs_set variabel, mit dem Set-Literal:geschweiften Klammern. Die ATA, Hello World string ist das erste und einzige Element.

my_first_set = {'ATA, Hello World'}

3. Führen Sie den folgenden Befehl aus, um Ihr erstes Set aufzurufen und zu überprüfen, ob es das Set erstellt.

my_first_set

Sie erhalten die Zeichenfolge ATA, Hello World im Gegenzug, wie unten gezeigt.

4. Sie können diesen my_first_set noch einmal überprüfen ist ein Satz mit type() Funktion, um den Datentyp von my_first_set zu erhalten . Führen Sie den folgenden Code aus, um den Datentyp abzurufen.

type(my_first_set)

Sie erhalten die unten gezeigte Ausgabe. Die Ausgabe bestätigt my_first_set Ist ein Satz.

5. Da eine Menge eine Sammlung ist, hat sie die eingebaute Längenfunktion:len() . Führen Sie den folgenden Code aus, um die Länge des Satzes zu erhalten.

len(my_first_set)

Im Gegenzug erhalten Sie 1, wie unten gezeigt, da die Menge nur ein Element enthält. Eine Menge, die genau ein Element enthält, wird auch als Singleton-Menge bezeichnet.

Mengen verstehen, die Eigenschaften definieren

Eine Menge hat zwei definierende Eigenschaften, die Sie beide als nächstes sehen werden. Niemand mag Spoiler, lesen Sie weiter, um mit dem Programmieren zu beginnen und mehr über diese Eigenschaften zu erfahren.

Erstellen Sie eine neue Datei namens set_comparison.py , und kopieren Sie den folgenden Code und fügen Sie ihn ein.

# You will make a couple of sets. The first set is {1, 2, 3}, 
# the second set has the same numbers in a different order {3, 2, 1}.
# You'll use a double equal sign == to compare the sets. # And you'll use a print statement to print out the result of this comparison.
print({1, 2, 3} == {3, 2, 1})

Führen Sie den folgenden Befehl in Ihrer IDE aus, um set_comparison.py auszuführen script und drucken Sie die Vergleichsausgabe aus.

python set_comparison.py

Sie werden wahr als Ausgabe wie unten gezeigt:Python hat diese beiden Sätze ausgewertet und beide als gleich angesehen. Sie haben die gleiche Länge und enthalten genau die gleichen Elemente wie die anderen.

Wenn sich ein Element in einem Satz befindet, ist es garantiert einzigartig gegenüber anderen Elementen. Konkret ausgedrückt ist eine Menge ein mathematisches Objekt, das alle unterschiedlichen Werte in einer bestimmten Sammlung oder Zeichenfolge verfolgt.

1️⃣ Python-Mengen sind keine Sequenzen:Die Reihenfolge der Elemente in der Menge spielt keine Rolle. Sätze sind ungeordnet.

Als Nächstes erfahren Sie, wie Sätze mit doppelten Werten umgehen. Erstellen Sie eine neue Datei namens set_integer_number.py , kopieren Sie die Zeile unten und fügen Sie sie ein. Jedes Element dieses Mengenliterals ist eine durch Kommas getrennte Ganzzahl, und einige dieser Ganzzahlen wiederholen sich in keiner bestimmten Reihenfolge.


print({1, 2, 3, 2, 3, 4, 3, 4, 4, 4})

Führen Sie den folgenden Befehl aus, um Mitglieder des Satzes auszudrucken.

python set_integer_number.py

Sie erhalten eine Ausgabe wie die untenstehende, in der Sie diesen set_integer_number sehen können enthält nur die eindeutigen Werte 1 , 2 , 3 und 4 . Obwohl Sie fast alle wiederholt haben. Wenn Python den eigentlichen Satz auswertet, konstruiert und ausgibt, hat der Satz nur vier Mitglieder.

Wenn sich ein Element in einem Satz befindet, ist es garantiert einzigartig gegenüber anderen Elementen. Konkret ausgedrückt ist eine Menge ein mathematisches Objekt, das alle unterschiedlichen Werte in einer bestimmten Sammlung oder Zeichenfolge verfolgt.

2️⃣ Python-Sätze enthalten keine doppelten Daten:Es gibt keine doppelten Werte. Mitglieder unterscheiden sich eindeutig voneinander.

Sie können überprüfen, ob doppelte Werte gespeichert sind, indem Sie die Länge dieses Satzes mit len() ausdrucken Methode. Entfernen Sie den vorherigen Inhalt aus set_integer_number.py Datei und kopieren Sie die folgende Zeile und fügen Sie sie in die Datei set_integer_number.py ein Datei.

print(len({1, 2, 3, 2, 3, 4, 3, 4, 4, 4}))

Führen Sie den folgenden Befehl aus, um die Länge des Satzes auszudrucken.

python set_integer_number.py

Sie erhalten die Zahl 4 in der Ausgabe wie unten gezeigt, was bedeutet, dass es nur vier Mitglieder in der Menge gibt.

Vergleichen Sie diese Eigenschaften mit einem realen Beispiel einer Menge. Eine Reihe von Früchten:Äpfel, Bananen, Orangen, Zitronen und Limetten. Die Reihenfolge der Früchte spielt keine Rolle. Wenn Sie die Reihenfolge der Liste ändern, ändert sich nichts. Sie haben immer noch die gleiche Obstliste. Äpfel sind nicht wichtiger als Bananen oder Zitronen.

Alle Früchte sind einzigartig und unterscheiden sich deutlich voneinander. Wenn Sie jemand bittet, fünf Früchte zu nennen, würden Sie nicht fünfmal Bananen sagen:einmal ist genug. Da Bananen bereits im Set enthalten sind, sollte das erneute Hinzufügen nichts am Set ändern.

Hinzufügen von Elementen zu einem Python-Set

Im vorherigen Abschnitt haben Sie gelernt, wie Sie ein neues Python-Set erstellen. In diesem Abschnitt erfahren Sie, wie Sie Python-Sets manipulieren. Das erste ist das Hinzufügen von Elementen zu einer Menge.

Python-Sätze sind veränderbar, was bedeutet, dass die Daten innerhalb eines Satzes nach der Erstellung des Satzes geändert werden können.

Es gibt zwei Methoden, um Elemente zu einer Menge hinzuzufügen. Die add() Methode fügt ein Element hinzu, während update() Methode fügt mehr als ein Element hinzu.

Erstellen Sie eine neue Datei namens set_vowels.py , kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein.

# You'll declare a new variable vowels and assign it as an empty set.
vowels = set()
#Use the add() method to add one element to the set. 
# Let's add A, which was the first vowel.
vowels.add('A')
#Print the new set with the added element.
print(vowels)

Führen Sie den folgenden Code aus, um zu überprüfen, ob Sie dem Satz Elemente hinzufügen.

python set_vowels.py

Sie erhalten eine Ausgabe wie die folgende. Beachten Sie, dass es "A" ausgibt ‘ wenn Sie set_vowels drucken Inhalt, was bedeutet, dass "A" ist Mitglied von set_vowels .

Anstatt die restlichen Vokale einzeln hinzuzufügen, ist es jetzt an der Zeit, sie alle zusammen mit der Update-Methode hinzuzufügen.

Kopieren Sie die folgende Zeile und fügen Sie sie in Ihre set_vowels.py ein Datei. Sie verwenden einen iterierbaren Typ, der eine Zeichenfolge ist:U , E , O , und ich . Die Update-Methode geht jedes Element einzeln durch, macht den String iterierbar und fügt jedes Element der Menge hinzu.

vowels.update('U, E, O, I')

Führen Sie den folgenden Code aus, um zu überprüfen, ob der Satz alle vier neu hinzugefügten Vokale enthält.

python set_vowels.py

Sie erhalten die unten gezeigte Ausgabe. Sie können sehen, dass alle Vokale zum Satz hinzugefügt werden.

Die Reihenfolge ist für diese String-Datentypen nicht deterministisch. Wenn Ihre Vokale also in einer anderen Reihenfolge erscheinen, ist das in Ordnung; es funktioniert wie vorgesehen.

Entfernen von Elementen aus einem Python-Set

Im vorherigen Abschnitt haben Sie gelernt, wie Sie Elemente zu einer Menge hinzufügen. In diesem Abschnitt erfahren Sie, wie Sie Elemente aus einem Satz entfernen.

Es gibt vier Methoden, um ein Element aus einem Python-Set zu entfernen:

  • clear()
  • remove()
  • discard()
  • pop()

Gehen wir nacheinander auf jede Methode ein. Die Beispiele stützen sich auf die Vokalsätze aus dem vorherigen Abschnitt. Sie erstellen eine Kopie anstelle des ursprünglichen Satzes, um den ursprünglichen Satz nicht zu beeinflussen.

Die copy() Methode erstellt eine Kopie des Satzes. Kopieren Sie beispielsweise die folgenden Zeilen und fügen Sie sie in Ihre set_vowels.py ein Datei, um eine Kopie für jede Entfernungsmethode zu erstellen.

clear_method = vowels.copy()
remove_method = vowels.copy()
discard_method = vowels.copy()
clear_method = vowels.copy()

Die klare Methode lernen

Die erste Methode ist die clear() Methode, deren Syntax set.clear() ist . Diese Methode akzeptiert kein Argument.

Kopieren Sie die folgenden Zeilen und fügen Sie sie in Ihre set_vowels.py ein um den clear() zu rufen Methode und drucken Sie clear_method aus einstellen

clear_method.clear()
print(clear_method)

Führen Sie den folgenden Code aus, und Sie erhalten einen leeren Satz, der wie unten gezeigt ausgedruckt wird. Die clear() -Methode alle Elemente aus der Menge entfernt.

python set_vowels.py

Verwendung der Remove-Methode

Nun zur remove() Methode. Diese Methode akzeptiert ein Argument, nämlich das Element, das Sie aus der Menge entfernen möchten. Die Syntax für remove() Methode ist set.remove(element) . Sie werden diese Methode in Ihrem Code unten verwenden.

remove_method = vowels.copy()
# Rmove the letter A.
remove_method.remove('A')
print(remove_method)

Führen Sie den folgenden Code aus, um zu überprüfen, ob der Buchstabe A entfernt wurde aus dem remove_method eingestellt.

python set_vowels.py

Sie erhalten eine Ausgabe wie unten gezeigt. Sie können sehen, dass A nicht mehr Teil der Menge ist.

Wenn Sie versuchen, ein Element zu entfernen, das nicht im Satz vorhanden ist, erhalten Sie einen Schlüsselfehler. Rufen wir den remove() auf Methode mit einem Element, das kein Mitglied der Menge ist, dem Buchstaben B.

remove_method = vowels.copy()
remove_method.remove('B')
print(remove_method)

Führen Sie set_vowels.py erneut aus und Sie erhalten eine Ausgabe, die einen Fehler wie den folgenden zeigt.

Entfernen von Elementen mit der Discard-Methode

Die dritte Methode ist die discard() Methode. Diese Methode akzeptiert ein Argument, nämlich das Element, das Sie aus einer Menge entfernen möchten.

Der Unterschied zwischen remove() und discard() ist, dass die Methode discard() keinen Fehler auslöst, wenn ein Element nicht vorhanden ist. Diese Methode vermeidet das Auslösen eines KeyError, und Sie können discard() anrufen so oft wie gewünscht.

Die Syntax des discard() Methode ist set.discard(element) . Kopieren Sie erneut den folgenden Code und fügen Sie ihn ein. Sie werden das B verwerfen Buchstabe, der kein Mitglied des Satzes ist, und dieses Mal wird Python keinen Fehler auslösen.

discard_method = vowels.copy()
discard_method.discard('B')
print(discard_method)

Führen Sie set_vowels.py aus erneut und sehen, was passiert.

python set_vowels.py

Sie erhalten eine Ausgabe wie die unten gezeigte. Sie können sehen, dass kein Fehler vorliegt.

Herausnahme von Elementen mit der Pop-Methode

Die letzte Methode ist die pop() Methode. Diese Methode akzeptiert kein Argument, entfernt ein zufälliges Element aus der Menge und gibt das entfernte Element zurück. Die Syntax für die Methode pop() ist set.pop() .

Kopieren Sie den folgenden Code und fügen Sie ihn ein, um pop() aufzurufen -Methode und drucken Sie das entfernte Element aus.

pop_method = vowels.copy()
vowel = pop_method.pop()
print(vowel)
print(pop_method)

Führen Sie set_vowels.py, aus und Sie erhalten eine Ausgabe wie die unten gezeigte. Der ursprüngliche Vokalsatz enthält fünf Vokale. Ihr pop_method set hat vier Vokale:Die Methode entfernt den Vokal O und gibt ihn zurück .

Seit pop() ein zufälliges Element entfernt, haben Sie möglicherweise ein anderes Ergebnis erhalten. Führen Sie den Code mehrmals aus, und Sie werden die Zufälligkeit im Spiel bemerken.

Schlussfolgerung

Sie sollten jetzt ein besseres Verständnis von Python-Sets und der Methodik haben, die zum Erstellen, Entfernen oder Hinzufügen von Elementen zu Sets erforderlich ist. Warum nicht als nächsten Schritt Mengenoperationen &Mengen vs. Listen untersuchen?


Linux
  1. So verwenden Sie BusyBox unter Linux

  2. So verwenden Sie den Export mit Python unter Linux

  3. Wie setze ich im Python-Skript PYTHONPATH?

  4. Wie kann ich das 'Backend' in Matplotlib in Python einstellen?

  5. Wie richte ich curl ein, um dauerhaft einen Proxy zu verwenden?

So aktualisieren Sie Python auf 3.9

So installieren Sie Python 3 unter Windows 10

Linux-Set-Befehl und seine Verwendung {9 Beispiele}

So richten Sie eine virtuelle Python-Umgebung unter Debian 10 Buster ein

So überprüfen Sie die Python-Version

So installieren und verwenden Sie Python-Mistune unter Linux