Python Sets werden verwendet, wenn man mehrere Elemente in einer einzigen Variablen speichern will. Das Set wird vor allem dann genutzt, wenn mehrere Wiederholungen eines Elements nicht erlaubt sind. Die Element innerhalb eines Sets sind also einzigartig.
Ein Python Set definiert man, indem die einzelnen Werte durch Kommas getrennt in geschweiften Klammern schreibt. Die Element können auch verschiedene Datentypen haben und trotzdem in demselben Set gespeichert werden.
Als zweite Möglichkeit zur Definition eines Python Sets kann man auch den Operator “set” nutzen und die Elemente in doppelte, runde Klammern schreiben. Diese Herangehensweise wird jedoch eher selten genutzt.
Wie kann man Elemente abfragen?
Da das Set nicht geordnet ist und die Reihenfolge somit keine Rolle spielt, können einzelne Elemente nicht über einen Index oder einen Schlüssel abgefragt werden, wie wir es von der Python List oder dem Dictionary kennen. Die einzige Möglichkeit, die noch bleibt, ist abzufragen, ob ein gewisses Element in dem Set vorkommt.
Wie können Elemente hinzugefügt werden?
Ein bestehendes Set kann durch einzelne Elemente erweitert werden oder es kann sogar ein ganzes Set zu einem bestehenden hinzugefügt werden.
Es fällt auf, dass der Wert “new element” im finalen Set lediglich einmal vorkommt. Wenn wir also Werte zu einem Python Set hinzufügen wollen, die bereits im Set vorhanden sind, werden sie einfach ignoriert.
Dadurch dass die vier Datentypen in Python eng miteinander verbunden sind, können wir auch Variablen mit verschiedenen Datentypen verbinden. Es lassen sich beispielsweise auch Listen zu einem bestehenden Set hinzufügen. Doppelte Elemente in der Liste werden selbstverständlich im Set nur einmal beachtet.
Wie können Elemente gelöscht werden?
Wenn wir Elemente aus einem Python Set löschen wollen, gibt es auch verschiedene Möglichkeiten. Mit den Befehlen “remove” oder “discard” können wir unter Angabe eines bestimmten Wertes das Element löschen. Mit “pop” hingegen löscht man das Element, welches als letztes dem Set hinzugefügt wurde. Abschließend gibt es noch “clear”. Dieser Befehl löscht alle Elemente des Sets und hinterlässt eine Variable mit einem leeren Set.
Wie können mehrere Sets zusammengeführt werden?
Wenn man mehrere Python Sets zusammengeführt werden, werden lediglich die Elemente behalten, die in beiden Sets mindestens einmal vorkommen. Das passiert mit der sogenannten “union” Funktion:
Mit der “union” Funktion wird automatisch ein neues Objekt erstellt, das zusätzlich zu den bisherigen zwei abgespeichert wird. Wenn dies nicht gewünscht ist, kann man auch explizit die Elemente einem bestehenden Python Set hinzufügen. Dazu nutzt man die “update” Funktion:
Welche Python Sammlungen gibt es?
In Python gibt es insgesamt vier Datentypen, die standardmäßig hinterlegt sind:
- Die Liste ist eine geordnete Sammlung von Elementen, die änderbar ist und auch doppelte Elemente enthalten kann.
- Das Tuple ist im Endeffekt eine Liste, mit dem Unterschied, dass es nicht mehr änderbar ist. Es können also keine Elemente mehr nachträglich hinzugefügt oder entfernt werden.
- Das Set lässt keine doppelten Einträge zu. Gleichzeitig ist die Anordnung der Elemente innerhalb des Sets variabel. Das Set an sich kann verändert werden, aber die einzelnen Elemente können nicht nachträglich geändert werden.
- Ein Dictionary ist seit der Python Version 3.7 eine geordnete Sammlung von Schlüssel-Wert-Paaren, die änderbar ist. In den früheren Versionen ist das Dictionary ungeordnet.
Das solltest Du mitnehmen
- Das Python Set ist eines von insgesamt vier vorinstallierten Datenstrukturen in Python.
- Es wird genutzt, um mehrere einzigartige Element in einer einzigen Variablen abspeichern zu können. Die Reihenfolge der Element spielt dabei erstmal keine Rolle.
- Das Python Set ist vergleichbar mit der mathematischen Menge und es lassen sich entsprechend auch dieselben Funktionen damit ausführen, wie beispielsweise die Union.
Vielen Dank an Deepnote für das Sponsoring dieses Artikels! Deepnote bietet mir die Möglichkeit, Python-Code einfach und schnell auf dieser Website einzubetten und auch die zugehörigen Notebooks in der Cloud zu hosten.
Wie funktioniert die Python Dateiverarbeitung?
Nutzen Sie die Möglichkeiten der Python Dateiverarbeitung mit unserem Artikel. Lernen Sie, Dateien effizient zu schreiben und zu navigieren.
Was sind Python Loops?
Beherrsche Python Loops: Lerne `for` und `while` Iterationen, Steueranweisungen und praktische Anwendungen in diesem Leitfaden kennen.
Klassen und Objekte in Python – einfach erklärt!
Objektorientierte Programmierung in Python beherrschen: Erforschen Sie Klassen, Objekte und Interaktionen in unserem informativen Artikel!
Was ist Threading und Multiprocessing in Python?
Steigern Sie die Leistung von Python mit Threading und Multiprocessing. Lernen Sie, wie Sie die Parallelverarbeitung nutzen können.
Was ist Anaconda für Python?
Lernen Sie die Grundlagen von Anaconda in Python für effizientes Paketmanagement und Data Science Workflows.
Was sind Regular Expressions?
Erschließen Sie die leistungsstarke Textmanipulation in Python mit Regular Expressions. Beherrschen Sie Muster und Syntax.
Andere Beiträge zum Thema Python Set
- w3schools bietet ausführliche Beispiele zu Python Sets mit der Möglichkeit auch online Codeschnipsel direkt ausführen zu können.
Niklas Lang
Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.
Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.