Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Listen und Dictionaries

Nach dieser Lektion: Ich kann viele Werte in Listen und Dictionaries speichern und nachschlagen.

Lektion, 60 Min.3 BefehleLab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Listen und Dictionaries speichern viele Werte zusammen

Eine Liste speichert viele Werte in einer festen Reihenfolge, ein Dictionary speichert Werte unter Namen. Mit beiden verwaltet ein Python-Programm ganze Protokolle, Preislisten und Ergebnisse.

Das Lab-Protokoll hat in jeder Zeile eine Stufe wie INFO oder ERROR. Wie oft kommt welche vor? Ein Dictionary zählt es in wenigen Zeilen.

Am Ende dieser Lektion

Notiz

Ich kann viele Werte in Listen und Dictionaries speichern und nachschlagen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Listeviele Werte in fester Reihenfolge[12, 7, 30]
Indexdie Stelle eines Werts in der Liste, ab 0punkte[0]
DictionaryWerte, die man unter einem Schlüssel nachschlägt{"ERROR": 2}
Schlüsselder Name, unter dem ein Wert im Dictionary liegt
Zählerein Dictionary, das zählt, wie oft etwas vorkommt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Liste hat Plätze, die bei 0 beginnen

Eine Liste steht in eckigen Klammern. Jeder Wert hat einen Index, und der erste hat den Index 0.

Mit len(liste) erfahren Sie die Länge. append hängt einen Wert hinten an. Ein negativer Index zählt von hinten: -1 ist der letzte Wert.

Ein Beispiel: Indizes in einer Namensliste

AusdruckErgebnisBedeutung
namen[0]Alider erste
namen[3]Dander vierte
namen[-1]Dander letzte
namen[1:3]Bea, CemIndex 1 und 2, das Ende zählt nicht
len(namen)4die Länge

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Liste im Terminal

Befehl
python3 -c "namen = ['Ali', 'Bea', 'Cem']; print(namen[1], len(namen))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, der erste Wert einer Liste habe den Index 1. Er hat den Index 0. Eine Liste mit vier Werten hat darum die Indizes 0 bis 3, und liste[4] ist ein Fehler.

Eine Liste füllen und durchgehen

Code: python
# Die Punkte eines Teams.
punkte = [12, 7, 30]
punkte.append(18)
print(punkte)
print(len(punkte))
print(punkte[0], punkte[-1])
summe = 0
for p in punkte:
    summe = summe + p
print(summe)
# Hängen Sie noch eine Zahl an und raten Sie die neue Summe vorher.

Ein Dictionary schlägt Werte unter einem Schlüssel nach

Ein Dictionary steht in geschweiften Klammern. Es hat Paare aus Schlüssel und Wert: {"Brot": 2, "Milch": 1}.

Mit preise["Brot"] holen Sie den Wert. Mit preise["Kaese"] = 4 legen Sie einen neuen an. Fragen Sie vorher mit in, ob der Schlüssel existiert, sonst gibt es einen Fehler.

Ein Dictionary im Terminal

Befehl
python3 -c "preise = {'Brot': 2, 'Milch': 1}; print(preise['Brot'])"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Dictionary kann zählen

Gehen Sie eine Liste durch. Ist der Wert schon ein Schlüssel, erhöhen Sie seine Zahl um 1. Sonst legen Sie ihn mit der Zahl 1 an.

So entsteht ein Zähler. Der nächste Block macht es mit den Stufen eines Protokolls.

Die Stufen eines Protokolls zählen

Code: python
# Wie oft kommt jede Stufe im Protokoll vor?
stufen = ["INFO", "ERROR", "INFO", "INFO", "ERROR"]
zaehler = {}
for stufe in stufen:
    if stufe in zaehler:
        zaehler[stufe] = zaehler[stufe] + 1
    else:
        zaehler[stufe] = 1
print(zaehler)
# Fügen Sie "WARN" am Ende der Liste ein und starten Sie neu.

Ein Beispiel: der Zähler Schritt für Schritt

StufeSchon im Zähler?Zähler danach
INFOnein{INFO: 1}
ERRORnein{INFO: 1, ERROR: 1}
INFOja{INFO: 2, ERROR: 1}
INFOja{INFO: 3, ERROR: 1}
ERRORja{INFO: 3, ERROR: 2}

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Dasselbe im Terminal: die Stufen zählen

Befehl
head -n 60 /var/log/test.log | cut -d' ' -f3 | sort | uniq -c

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Weiterführend

Legen Sie ein Dictionary für den Lagerbestand eines Ladens an: vier Waren mit ihrer Stückzahl. Fragen Sie mit in, ob eine Ware vorhanden ist.

Gehen Sie das Dictionary mit einer Schleife über die Schlüssel durch, und geben Sie jede Ware mit ihrer Zahl aus.

Über dieses Lab und seinen Quellcode: Lab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.