Erklärung zur Lektion
Nach dieser Lektion kannst du:
.append() filtern und normalisieren..get() in einem Dictionary zählen.Schleifen können eine Sammlung aufbauen, nicht nur ihre Werte ausgeben. Beginne mit einem leeren Ziel und füge Werte hinzu, während du die Quelle verarbeitest. Bei einer Liste verwendest du .append(), um jedes ausgewählte Ergebnis hinzuzufügen und dabei die Reihenfolge des Auftretens zu bewahren.
Das Filtern verwendet eine Bedingung in der Schleife: Einige Quellelemente werden angehängt, andere übersprungen. Lass die Eingabesammlung unverändert, wenn sie Daten darstellt, die du später noch brauchen könntest; das Bearbeiten einer Liste, während du über genau diese Liste iterierst, kann dazu führen, dass Elemente unerwartet übersprungen werden.
Ein Dictionary eignet sich für Zählungen und Gruppen. counts.get(key, 0) ruft den aktuellen Zählerstand ab oder beginnt bei null. Zum Gruppieren initialisierst du eine Liste, wenn eine Kategorie zum ersten Mal auftaucht, und hängst dann ihre Elemente an. Du kombinierst dabei Methoden aus früheren Lektionen mit Funktionen, Bedingungen und Schleifen aus Einheit 1.
raw_regions = [" EU ", "Us", " APAC "]
regions = []
for region in raw_regions:
regions.append(region.strip().lower())
print(regions)Ausgabe:
['eu', 'us', 'apac']Jeder bereinigte Wert wird an die neue Liste angehängt.
scores = [31, 0, 18, -3]
valid_scores = []
for score in scores:
if score >= 0:
valid_scores.append(score)
print(valid_scores)Ausgabe:
[31, 0, 18]Die Quelle bleibt intakt; nur gültige Werte gelangen ins Ergebnis.
states = ["open", "closed", "open"]
counts = {}
for state in states:
counts[state] = counts.get(state, 0) + 1
print(counts["open"])Ausgabe:
2Der Ersatzwert lässt den Zähler für einen noch nicht gesehenen Schlüssel bei null beginnen.
requests = [("api", "urgent"), ("worker", "normal"), ("mail", "urgent")]
groups = {}
for service, category in requests:
if category not in groups:
groups[category] = []
groups[category].append(service)
print(groups["urgent"])Ausgabe:
['api', 'mail']Ein gruppiertes Dictionary verbindet einen Schlüssel mit einer geordneten Liste passender Werte.
| Ziel | Muster |
|---|---|
| Eine Ausgabeliste beginnen | results = [] |
| Den nächsten ausgewählten Wert hinzufügen | results.append(value) |
| Werte filtern | if condition: in einer Schleife |
| Einen Zähler aktualisieren | counts[key] = counts.get(key, 0) + 1 |
| Eine neue Kategorie beginnen | groups[key] = [] |
KeyError.