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ügeninsert()– Element an bestimmter Position einfügenremove()– Element löschenpop()– Element entfernen und zurückgebensort()– 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,removeetc. 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ügenremove()– Element entfernenunion(),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üsselvalues()– alle Werteitems()– Schlüssel-Wert-Paareupdate()– Elemente hinzufügen oder ändernpop()– 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
| Datentyp | geordnet | veränderbar | Duplikate | Beispiel |
|---|---|---|---|---|
| list | ✅ | ✅ | ✅ | [1, 2, 3, 2] |
| tuple | ✅ | ❌ | ✅ | (1, 2, 3) |
| set | ❌ | ✅ | ❌ | {1, 2, 3} |
| dict | ✅ | ✅ | Schlü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
- Listen – gut für geordnete Daten, z. B. Zeitreihen
- Tupel – gut für unveränderliche Daten oder als Dictionary-Schlüssel
- Sets – ideal, um Duplikate zu entfernen und Mengenoperationen durchzuführen
- Dictionaries – perfekt für strukturierte Daten mit Schlüsseln und Werten
- Comprehensions – später für schnelle Transformationen lernen (werden in Teil 24 behandelt)
Schreibe einen Kommentar