Zum Inhalt springen
BetaEN
Lektion 5 von 35Python

Python · Lektion 5 · 25 Minuten

Listen – viele Werte auf einmal

Das lernst du

  • Listen anlegen und über die Position (Index) zugreifen
  • Elemente anhängen, ändern und zählen
  • Mit sum(), max() und einer Schleife Listen auswerten

Eine Kiste mit Fächern

Bisher hatte jede Variable genau einen Wert. Eine Liste speichert viele Werte in einer festen Reihenfolge. Du schreibst sie in eckige Klammern, getrennt durch Kommas:

freunde = ["Mia", "Ben", "Lea", "Tom"]
print(freunde)
print(len(freunde))

len() zählt, wie viele Elemente in der Liste sind.

Auf einzelne Elemente zugreifen

Jedes Element hat eine Position, den Index. Achtung: Python fängt bei 0 an zu zählen!

Index0123
Wert“Mia”“Ben”“Lea”“Tom”
freunde = ["Mia", "Ben", "Lea", "Tom"]
print(freunde[0])
print(freunde[2])
print(freunde[-1])

Mit [-1] bekommst du das letzte Element – praktisch, wenn du nicht weißt, wie lang die Liste ist.

Listen verändern

Listen sind veränderbar: Du kannst Elemente anhängen, austauschen und entfernen. Drück auf Schritte und beobachte die Liste im Speicher:

rucksack = ["Trinkflasche", "Brot"]
rucksack.append("Apfel")
rucksack[0] = "Wasserflasche"
rucksack.remove("Brot")
print(rucksack)
print("Apfel" in rucksack)

Mit in prüfst du, ob etwas in der Liste steckt. Das Ergebnis ist True oder False.

Listen auswerten

Für Zahlenlisten hat Python fertige Werkzeuge: sum() addiert alles, max() und min() finden den größten und kleinsten Wert. Und mit for gehst du jedes Element einzeln durch:

temperaturen = [18, 21, 25, 19, 23]

print(f"Wärmster Tag: {max(temperaturen)} Grad")
print(f"Summe: {sum(temperaturen)}")

for t in temperaturen:
    if t >= 20:
        print(f"{t} Grad – T-Shirt-Wetter")

Merke: Der erste Index ist 0, der letzte ist len(liste) - 1. Wenn du liste[len(liste)] schreibst, bekommst du einen IndexError.

Kurz-Check

Bevor es an die Aufgabe geht: Was gibt dieses Programm aus? Tipp deine Vermutung ein – Python rechnet danach nach.

tiere = ["Hund", "Katze", "Maus"]
tiere.append("Igel")
print(tiere[1], len(tiere))

Deine Aufgabe

Jetzt bist du dran

In der Liste punkte stehen die Ergebnisse eines Spiels. Gib drei Zeilen aus: Höchste Punktzahl: 19, Durchschnitt: 11.2 (auf eine Nachkommastelle gerundet, mit round(wert, 1)) und Über 10 Punkte: 3 (wie viele Werte größer als 10 sind). Rechne alles mit Python aus – die Zahlen nicht selbst eintippen, denn der Test probiert es auch mit einer anderen Liste.

punkte = [12, 7, 19, 3, 15]

# Werte die Liste hier aus:

Ohne Hinweise gelöst gibt es einen ⭐ auf deiner Fortschrittsseite.

Lösung anzeigen

Versuch es erst selbst – aus Fehlern lernt man am meisten. Hier ist eine mögliche Lösung:

punkte = [12, 7, 19, 3, 15]

print(f"Höchste Punktzahl: {max(punkte)}")
print(f"Durchschnitt: {round(sum(punkte) / len(punkte), 1)}")

anzahl = 0
for p in punkte:
    if p > 10:
        anzahl = anzahl + 1
print(f"Über 10 Punkte: {anzahl}")

Für Schnelle

Profi-Aufgabe

Finde die zweitgrößte Zahl in zahlen – ohne sorted(), .sort() und ohne max(). Gleiche Zahlen zählen nur einmal: In [4, 9, 2, 9, 7] ist die zweitgrößte die 7. Gib Zweitgrößte: 7 aus.

zahlen = [4, 9, 2, 9, 7]

# Merk dir beim Durchgehen die größte und die zweitgrößte Zahl
Profi-Lösung anzeigen
zahlen = [4, 9, 2, 9, 7]

groesste = None
zweite = None
for z in zahlen:
    if groesste is None or z > groesste:
        zweite = groesste
        groesste = z
    elif z != groesste and (zweite is None or z > zweite):
        zweite = z
print(f"Zweitgrößte: {zweite}")
Mehr üben im TrainingsraumEndlos neue Aufgaben zu diesem Thema – mit XP und Serien.