Lektion 7 von 12

Listen und Dictionaries

Listen und Dictionaries in Python: anlegen, durchlaufen, ändern, mit Übungen direkt im Browser.

  • Etwa 20 Minuten
  • 2 Übungen mit Lösung
  • Läuft im Browser

Listen

Bisher konnte jede Variable genau einen Wert speichern. Eine Liste speichert beliebig viele, in einer festen Reihenfolge. Du erkennst sie an den eckigen Klammern:

listen.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

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:

todo.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

Ihre volle Kraft entfalten Listen zusammen mit der for-Schleife. Die läuft einfach über jedes Element, ganz ohne Index:

durchschnitt.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

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:

dictionary.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

Übungen

Erst selbst versuchen, dann die Lösung aufklappen.

Ü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().

uebung_7_1.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

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).

uebung_7_2.py

Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.

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")