Teil 8: Listen, Tupel, Sets, Dictionaries

Nachdem wir die grundlegenden Datentypen wie int, float, str und bool kennengelernt haben, ist der nächste Schritt, Datenstrukturen zu verstehen, die mehrere Werte speichern können. In Python sind das Listen, Tupel, Sets und Dictionaries – unverzichtbar für die Arbeit mit Data Science, da sie es ermöglichen, Daten zu organisieren, zu filtern und effizient zu verarbeiten.


1. Listen (list)

Listen sind veränderbare, geordnete Sammlungen von Elementen. Sie können Zahlen, Strings, boolesche Werte oder sogar andere Listen enthalten.

# Eine Liste mit Zahlen
zahlen = [10, 20, 30, 40]

# Eine Liste mit verschiedenen Datentypen
mix = [25, "Python", True, 3.14]

Zugriff auf Elemente

  • Indexierung: liste[0] greift auf das erste Element zu
  • Negative Indizes: liste[-1] greift auf das letzte Element zu
  • Slicing: liste[1:3] greift auf Elemente 1 und 2 zu
zahlen = [10, 20, 30, 40]
print(zahlen[0])   # 10
print(zahlen[-1])  # 40
print(zahlen[1:3]) # [20, 30]

Methoden für Listen

  • append() – Element am Ende hinzufügen
  • insert() – Element an bestimmter Position einfügen
  • remove() – Element löschen
  • pop() – Element entfernen und zurückgeben
  • sort() – Liste sortieren
zahlen = [5, 2, 8]
zahlen.append(10)
zahlen.sort()
print(zahlen)  # [2, 5, 8, 10]

Praxisbeispiel: Kundenliste

kunden = ["Anna", "Ben", "Clara"]
kunden.append("David")
print(kunden)  # ['Anna', 'Ben', 'Clara', 'David']

2. Tupel (tuple)

Tupel sind geordnete, unveränderbare Sammlungen. Sie eignen sich, wenn die Daten nicht verändert werden sollen, z. B. Koordinaten oder Konstanten.

# Ein Tupel
koordinaten = (10.5, 20.3)

# Zugriff
print(koordinaten[0])  # 10.5

Wichtige Unterschiede zu Listen

  • Tupel können nicht verändert werden (append, remove etc. funktionieren nicht)
  • Sind speichereffizienter als Listen
  • Können als Schlüssel in Dictionaries verwendet werden
# Tupel als Schlüssel
orte = {(10, 20): "Shop A", (30, 40): "Shop B"}
print(orte[(10, 20)])  # Shop A

3. Sets (set)

Sets sind ungeordnete Sammlungen von eindeutigen Elementen. Ideal, um Duplikate zu entfernen oder Mengenoperationen durchzuführen.

# Set erstellen
fruits = {"Apfel", "Banane", "Apfel", "Orange"}
print(fruits)  # {'Banane', 'Apfel', 'Orange'}

Operationen mit Sets

  • add() – Element hinzufügen
  • remove() – Element entfernen
  • union(), intersection(), difference() – Mengenoperationen
set_a = {1, 2, 3}
set_b = {3, 4, 5}

print(set_a.union(set_b))        # {1, 2, 3, 4, 5}
print(set_a.intersection(set_b)) # {3}
print(set_a.difference(set_b))   # {1, 2}

Praxisbeispiel: Eindeutige Kunden

kunden = ["Anna", "Ben", "Clara", "Anna"]
unique_kunden = set(kunden)
print(unique_kunden)  # {'Anna', 'Ben', 'Clara'}

4. Dictionaries (dict)

Dictionaries speichern Paare aus Schlüssel und Wert (key: value). Sehr nützlich für strukturierte Daten, z. B. Kundendaten, Produktinformationen.

kunde = {"Name": "Anna", "Alter": 28, "VIP": True}
print(kunde["Name"])  # Anna

Methoden für Dictionaries

  • keys() – alle Schlüssel
  • values() – alle Werte
  • items() – Schlüssel-Wert-Paare
  • update() – Elemente hinzufügen oder ändern
  • pop() – Element entfernen
kunde = {"Name": "Ben", "Alter": 35}
kunde["VIP"] = False  # neuen Schlüssel hinzufügen
print(kunde)

for key, value in kunde.items():
    print(key, value)

Praxisbeispiel: Produktinformationen

produkt = {"ID": 101, "Name": "Laptop", "Preis": 999.99}
print(f"Produkt: {produkt['Name']}, Preis: {produkt['Preis']} €")

5. Vergleich der Datentypen

DatentypgeordnetveränderbarDuplikateBeispiel
list[1, 2, 3, 2]
tuple(1, 2, 3)
set{1, 2, 3}
dictSchlüssel ❌{„Name“: „Anna“, „Alter“: 28}

6. Praxisbeispiel: Kundenverwaltung

# Kundenliste
kunden = ["Anna", "Ben", "Clara", "Anna"]

# Duplikate entfernen
unique_kunden = set(kunden)

# Kundeninformationen als Dictionary
kunden_info = {
    "Anna": {"Alter": 28, "VIP": True},
    "Ben": {"Alter": 35, "VIP": False},
    "Clara": {"Alter": 22, "VIP": True}
}

# VIP-Kunden herausfiltern
vip_kunden = [name for name, info in kunden_info.items() if info["VIP"]]
print(vip_kunden)  # ['Anna', 'Clara']

7. Tipps für Data Science

  1. Listen – gut für geordnete Daten, z. B. Zeitreihen
  2. Tupel – gut für unveränderliche Daten oder als Dictionary-Schlüssel
  3. Sets – ideal, um Duplikate zu entfernen und Mengenoperationen durchzuführen
  4. Dictionaries – perfekt für strukturierte Daten mit Schlüsseln und Werten
  5. Comprehensions – später für schnelle Transformationen lernen (werden in Teil 24 behandelt)

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert