0Pricing
Competitive Programming Academy · Lektion

Counter und defaultdict in der Praxis

Zählen Sie Elemente ohne Fehler durch fehlende Schlüssel

Counter und defaultdict in der Praxis ist eine kostenlose Competitive Programming Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Competitive Programming Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Einfaches Zählen

Zu zählen, wie oft etwas vorkommt, gehört zu den häufigsten Aufgaben in Programmierwettbewerben. Das Modul collections bietet zwei Werkzeuge, die das Zählen erleichtern. 🧮

Das Problem mit fehlenden Schlüsseln

Normale Dictionaries lösen einen KeyError aus, wenn Sie einen Schlüssel erhöhen, der noch nicht existiert. Spezielle Strukturen nehmen Ihnen diese zusätzliche Arbeit ab.

Counter kennenlernen

Ein Counter zählt die Elemente eines beliebigen iterierbaren Objekts in einer einzigen Zeile und speichert die Häufigkeit jedes Elements als Wert. Fehlende Schlüssel werden einfach als null gezählt.

from collections import Counter
freq = Counter(nums)

Eine Anzahl lesen

Greifen Sie auf einen Counter wie auf ein Dictionary zu. Bei einem fehlenden Schlüssel wird jedoch zero statt eines Fehlers zurückgegeben. Dadurch sind Nachschlagevorgänge vollkommen sicher.

print(freq[5])
print(freq[999])

Häufigste Elemente

Rufen Sie most_common auf, um die Elemente absteigend nach ihrer Anzahl sortiert zu erhalten. Übergeben Sie eine Zahl, um die Anzahl der zurückgegebenen Top-Einträge zu begrenzen.

top3 = freq.most_common(3)

Counter können rechnen

Sie können zwei Counter addieren oder voneinander subtrahieren, um Zählungen zu kombinieren. Übereinstimmende Schlüssel werden zusammengeführt und die Summen automatisch passend berechnet.

total = Counter(a) + Counter(b)

defaultdict kennenlernen

Ein defaultdict liefert für jeden neuen Schlüssel einen frischen Standardwert, sodass Sie die Existenz nicht vorher prüfen müssen. Sie übergeben ihm die Standardfabrik.

from collections import defaultdict
count = defaultdict(int)

Ohne Prüfungen erhöhen

Bei defaultdict(int) beginnt ein fehlender Schlüssel bei null, sodass Sie ihn direkt erhöhen können. Dadurch wird Ihre Schleife nicht durch eine if-in-Prüfung überladen.

for v in nums:
    count[v] += 1

Listen als Standardwerte

Verwenden Sie defaultdict(list), wenn jeder Schlüssel mehrere Werte sammelt. Das Anhängen an einen ganz neuen Schlüssel beginnt einfach mit einer frischen leeren Liste.

groups = defaultdict(list)
groups[key].append(item)

Counter oder defaultdict

Greifen Sie zu Counter, wenn Sie nur Elemente zählen. Verwenden Sie defaultdict, wenn jeder Schlüssel Listen, Sets oder eigene Standardwerte benötigt. 🎯

Anagramme in einer Zeile

Zwei Wörter sind genau dann Anagramme, wenn ihre Counter gleich sind. Der Vergleich berücksichtigt die Häufigkeit jedes Buchstabens auf einmal.

is_anagram = Counter(s) == Counter(t)

Kurzer Check

Sie möchten Vorkommen zählen und dabei fehlende Schlüssel sicher erhöhen.

Zusammenfassung

Counter zählt Elemente sofort und ordnet sie nach Häufigkeit, während defaultdict Prüfungen auf fehlende Schlüssel bei Zählungen, Listen oder Sets überflüssig macht. Beide vermeiden viel Boilerplate-Code. 🚀

Häufig gestellte Fragen

Ist die Lektion „Counter und defaultdict in der Praxis“ kostenlos?

Ja — der vollständige Text von „Counter und defaultdict in der Praxis“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Competitive Programming Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Counter und defaultdict in der Praxis“?

Zählen Sie Elemente ohne Fehler durch fehlende Schlüssel Du übst Competitive Programming Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Competitive Programming Academy zu starten?

Keine Vorkenntnisse erforderlich. Competitive Programming Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Counter und defaultdict in der Praxis“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Competitive Programming Academy-Lektion Code schreiben und ausführen?

Ja. Jede Competitive Programming Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Mengen für Mitgliedschaft und Deduplizierung
  2. Dictionaries als Nachschlagetabellen
  3. Counter und defaultdict in der Praxis
  4. Mit einer Map gruppieren und einteilen
← Zurück zu Competitive Programming Academy