CodeGym /Kurse /Python SELF DE /Arbeiten mit Sets

Arbeiten mit Sets

Python SELF DE
Level 9 , Lektion 3
Verfügbar

3.1 Bestimmung der Anzahl der Elemente

Die Anzahl der Elemente in einem Set kann mit der Funktion len() bestimmt werden. Diese Funktion gibt die Anzahl der einzigartigen Elemente in dem Set zurück.

Beispiel zur Verwendung der Funktion len()


my_set = {1, 2, 3, 4, 5}
print(len(my_set))  # Ausgabe: 5
        

In diesem Beispiel enthält das Set my_set fünf Elemente. Die Funktion len() gibt diese Anzahl zurück.

Überprüfung der Leere eines Sets

Du kannst die Funktion len() verwenden, um zu überprüfen, ob ein Set leer ist. Dies ist nützlich in Bedingungen und Schleifen.


my_set = set()

if len(my_set) == 0:
    print("Das Set ist leer")
else:
    print("Das Set ist nicht leer")
        

3.2 Bestimmung des Typs

Wenn du dir nicht sicher bist, ob eine Variable ein Set enthält, kannst du zur größeren Sicherheit die Funktion type() verwenden. Die Funktion type() in Python gibt den Typ des Objekts zurück. Dies ist nützlich, um den Datentyp zu überprüfen, insbesondere wenn du mit Sets und anderen Datensammlungen arbeitest.

Beispiel:


my_set = {1, 2, 3}
print(type(my_set))  # Ausgabe: <class 'set'>

        

In diesem Beispiel gibt type(my_set) <class 'set'> zurück und zeigt damit an, dass my_set ein Set ist.

Überprüfung des Datentyps

Du kannst die Funktion type() verwenden, um den Datentyp zu überprüfen, bevor du Operationen ausführst. Dies hilft, Fehler im Zusammenhang mit inkompatiblen Datentypen zu vermeiden.


def add_element(collection, element):
    if type(collection) is set:
        collection.add(element)
    else:
        print("Fehler: Die bereitgestellte Sammlung ist kein Set")
        
my_set = {1, 2, 3}
add_element(my_set, 4)  # Element wird hinzugefügt
add_element([1, 2, 3], 4)  # Gibt Fehler aus
        

In diesem Beispiel überprüft die Funktion add_element(), ob die bereitgestellte Sammlung ein Set ist, bevor sie ein Element hinzufügt.

Die Funktion type() kann nützlich sein, wenn du komplexe Datenstrukturen erstellst, die viele verschiedene Datentypen enthalten können. Sie ermöglicht es, den Datentyp dynamisch zu bestimmen und entsprechend zu verarbeiten.

Beispiel:


my_set = {}
print(type(my_set))  # Ausgabe: <class 'dict'> 
        

Geschweifte Klammern werden sowohl zur Erstellung eines Sets als auch zur Erstellung eines Dictionaries verwendet (es gibt da einen etwas unterschiedlichen Syntax). Standardmäßig, wenn keine Elemente in den Klammern sind — wird ein Dictionary erstellt!

3.3 Reihenfolge der Elemente

Sets sind ein besonderer Typ von Datensammlung, der nur einzigartige Elemente speichert. Eine der Schlüsselfunktionen von Sets ist, dass sie ungeordnet sind. Das bedeutet, dass die Elemente eines Sets keine feste Reihenfolge haben, und die Reihenfolge der Elemente kann sich bei jeder Iteration ändern.

Sets in Python werden auf Basis von Hash-Tabellen implementiert. Wenn du ein Element in ein Set hinzufügst, berechnet Python dessen Hash-Wert und verwendet diesen, um die Position des Elements in der Hash-Tabelle zu bestimmen. Diese Datenstruktur ermöglicht eine schnelle Mitgliedschaftsprüfung, das Hinzufügen und Entfernen von Elementen. Aufgrund der Verwendung von Hash-Werten bleibt die Reihenfolge der Elemente jedoch nicht erhalten und kann nicht vorhergesagt werden.

Beispiel der Unordnung von Sets

Schauen wir uns ein einfaches Beispiel an:


my_set = {3, 1, 2}
for item in my_set:
    print(item)
    

Bei der Ausführung dieses Codes können die Elemente in beliebiger Reihenfolge ausgegeben werden, z. B. 1 2 3 oder 3 1 2. Das bedeutet, dass die Reihenfolge der Ausgabe der Elemente des Sets nicht garantiert ist und sich bei jedem Programmstart ändern kann.

Wichtigkeit der Unordnung

Die Unordnung von Sets hat mehrere wichtige Konsequenzen:

  • Keine Indexierung: Im Gegensatz zu Listen und Tupeln unterstützen Sets keinen Zugriff auf Elemente über einen Index. Ein Versuch, my_set[0] auszuführen, führt zu einem Fehler.
  • Performance: Unordnung ermöglicht Sets eine hohe Leistungsfähigkeit, insbesondere beim Hinzufügen und Entfernen von Elementen.
  • Einzigartigkeit der Elemente: Sets entfernen automatisch Duplikate, was sie nützlich für das Speichern einzigartiger Daten macht.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION