Wortschatz#
(Datei ist neu im WS 2025, wird im Laufe der Vorlesung erweitert werden.
einfache Listen von Zahlen (int, float):
append(), extend()
len(), sum(), sorted(): gut für Average und Median
Element enthalten?
in
pop(), insert(), remove() ohne und mit Position
slicing vs. index
Inplace/Kopie, equal, is am Bsp. von
extend()
vs.+
Liste vs. Tupel
strukturierte Zuweisung: (a, b) = (b, a)
sorted()
range(), list(range())
Listen von Zufallswerten erzeugen mit random-Bibliothek
grundlegende Strukturen (zuerst nur mit print):
if elif else
for in …
while
Zugriff auf Liste über index: for i in range(len(liste))
Grundstruktur Listenbearbeitung
neue Liste erzeugen: mit Berechnung und Test
list comprehesions
nicht nur syntactic sugar … und eleganter
Strings
Was ist ähnlich wie Listen? list(string)
Unterschiede zu Listen?
Addition von strings; Multiplikation mit Integer
Strings sind Objekte: Funktionen vs. Objekt-Methoden
viele unäre String-Funktionen: upper, lower, strip etc.
Strings aufteilen: split, rsplit, lsplit, auch mit Anzahl der splits
Strings zusammenfügen mit join
f-strings
Sets
die verschiedenen Set-Operationen kennen
Liste nach Set
len()
grundlegende Datentypen
int, float
bool; auch any(), all()
None
Typ festellen: type, instanceof
Dicts:
komplett angeben
Element hinzufügen (entspricht append)
Value erhalten mit get(); incl. Standardwert
weiteres Dict hinzufügen (extspricht extend): update()
entfernen mit d.pop(key, None), d.popitem()
keys müssen hashable sein
Grundstruktur Dictbearbeitung
typisch: mit k,v durch die items() durchgehen
dict als tabellierte Funktion aufbauen, z.B. SQRT
Funktionen definieren
verschiedene Arten von Parametern: Positions~, Namens~, ohne und mit Defaultwerten
Rückgabewerte, mehrere Rückgabewerte, None
Sichtbarkeit, lokale Variablen
Lese- und Schreib-Zugriff auf Umgebungsvariablen
Objekte
len() und sorted() sind Funktionen
Objekte haben Methoden, andere Schreibweise
Variablen sind Pointer auf Objekte im Speicher: Wie stellt man fest, dass zwei Variablen auf das selbe Obkekt zeigen?
Datei einlesen
with, file-Objekt
verschiedenes Nützliches
random
regex
Runde 2#
verschachtelte Listen
Simulation einer Matrix: Liste von Listen
in “Records” denken: zeilenweise
in “Spalten” denken: spaltenweise; Spaltensumme, Durchschnitt
Zugriff über index: index-index, index-slice geht
verschachtelte Dicts
CSV einlesen mit Pandas Dataframe, dann umwandeln
Simulation einer Matrix: Dict von Listen
in “Records”: key ist Objekt-ID
in “Spalten”: key ist Spaltenkopf
Matrix als Dict von Dicts
dicts von dicts: index-index aus Listen entspricht hier Zugriff über key-key
Dicts und Listen beliebig verschachteln: das ist JSON!
import json; data = json.loads(my_json)
typische Dict-Aufgaben:
inverses Dict erstellen: wir benötigen eine Liste (oder Set) als Value
Tabelle zeilenweise in Record-Layout: Aus Geburtsdatum Monat, Tag etc. extrahieren