Lektion 7: Listen & Dictionaries
Bisher konnte jede Variable genau einen Wert speichern. Eine Liste speichert beliebig viele, in einer festen Reihenfolge. Du erkennst sie an den eckigen Klammern:
Der Index startet bei 0, genau wie range() in Lektion 5. Mit .append() hängst du Elemente an, mit .remove() löschst du sie, und mit in prüfst du, ob etwas enthalten ist:
Ihre volle Kraft entfalten Listen zusammen mit der for-Schleife. Die läuft einfach über jedes Element, ganz ohne Index:
Dictionaries: Nachschlagen statt durchzählen
Ein Dictionary speichert Paare aus Schlüssel und Wert, wie ein Wörterbuch: Du schlägst mit dem Schlüssel nach und bekommst den Wert. Es nutzt geschweifte Klammern:
Wann Liste, wann Dictionary? Liste, wenn die Reihenfolge zählt oder du viele gleichartige Dinge hast (Messwerte, Aufgaben). Dictionary, wenn du Dinge über einen Namen nachschlagen willst (Eigenschaften eines Azubis, Preise pro Artikel). In der IHK-Prüfung heißen Listen übrigens meist "Array", das Konzept ist dasselbe.
Übung 7.1: Gegeben ist eine Liste mit Noten. Gib die beste (kleinste) Note aus. Tipp: Entweder mit einer Schleife wie beim Minimum-Beispiel aus der AP-Vorbereitung, oder du entdeckst die eingebaute Funktion min().
Musterlösung anzeigen
noten = [3, 1, 4, 2, 2]
# Weg 1: eingebaute Funktion
print(min(noten))
# Weg 2: von Hand (so will es die IHK sehen)
beste = noten[0]
for n in noten:
if n < beste:
beste = n
print(beste)Übung 7.2: Baue ein Dictionary preise mit drei Artikeln und ihren Preisen. Frag den Nutzer nach einem Artikel und gib den Preis aus. Bonus: Melde "Artikel unbekannt", wenn er nicht existiert (Tipp: in funktioniert auch bei Dictionaries).
Musterlösung anzeigen
preise = {"USB-Stick": 8.99, "Maus": 19.90, "Headset": 45.00}
artikel = input("Welcher Artikel? ")
if artikel in preise:
print(f"{artikel} kostet {preise[artikel]} Euro")
else:
print("Artikel unbekannt")