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
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Liste | viele Werte in fester Reihenfolge | [12, 7, 30] |
| Index | die Stelle eines Werts in der Liste, ab 0 | punkte[0] |
| Dictionary | Werte, die man unter einem Schlüssel nachschlägt | {"ERROR": 2} |
| Schlüssel | der Name, unter dem ein Wert im Dictionary liegt | |
| Zähler | ein 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
| Ausdruck | Ergebnis | Bedeutung |
|---|---|---|
| namen[0] | Ali | der erste |
| namen[3] | Dan | der vierte |
| namen[-1] | Dan | der letzte |
| namen[1:3] | Bea, Cem | Index 1 und 2, das Ende zählt nicht |
| len(namen) | 4 | die Länge |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Liste im Terminal
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
# 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
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
# 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
| Stufe | Schon im Zähler? | Zähler danach |
|---|---|---|
| INFO | nein | {INFO: 1} |
| ERROR | nein | {INFO: 1, ERROR: 1} |
| INFO | ja | {INFO: 2, ERROR: 1} |
| INFO | ja | {INFO: 3, ERROR: 1} |
| ERROR | ja | {INFO: 3, ERROR: 2} |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Dasselbe im Terminal: die Stufen zählen
head -n 60 /var/log/test.log | cut -d' ' -f3 | sort | uniq -cHier 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.