0Pricing
Competitive Programming Academy · Lektion

Mit itertools aufzählen

Produkte, Kombinationen und Permutationen

Mit itertools aufzählen ist eine kostenlose Competitive Programming Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Überlassen Sie die Schleifen itertools

Python's itertools erzeugt Kombinationen und Anordnungen für Sie, sodass Sie weniger Schleifencode schreiben und weniger Fehler machen. 🙂

Zuerst importieren

Alles befindet sich in einem Modul, beginnen Sie also mit import itertools. Danach können Sie product, permutations und combinations direkt aufrufen.

import itertools

product für verschachtelte Schleifen

Verwenden Sie product, um tief verschachtelte Schleifen über dieselben Auswahlmöglichkeiten zu ersetzen. Die Funktion liefert jedes Tupel von Auswahlen aus den angegebenen Bereichen.

for combo in itertools.product(range(3), repeat=2):
    print(combo)

permutations für Anordnungen

Wenn die Reihenfolge wichtig ist, listet permutations jede Anordnung der Elemente auf. Das eignet sich perfekt für kleine Brute-Force-Probleme im Stil des Handlungsreisendenproblems.

for p in itertools.permutations([1, 2, 3]):
    print(p)

combinations für Auswahlen

Wenn die Reihenfolge keine Rolle spielt, wählt combinations jede Gruppe der Größe r aus. Das eignet sich hervorragend, um eine zu prüfende Teilmenge von Elementen auszuwählen.

for c in itertools.combinations([1, 2, 3, 4], 2):
    print(c)

Permutationen und Kombinationen im Vergleich

Der entscheidende Unterschied ist die Reihenfolge: permutations behandelt (1,2) und (2,1) als verschieden, während combinations sie als dieselbe Auswahl zählt.

Achten Sie auf das Wachstum

Permutationen wachsen mit n!, was sehr schnell explodiert. Bereits n gleich 11 ergibt mehr als vierzig Millionen Anordnungen. Halten Sie n daher klein.

Sie sind lazy

Diese Funktionen sind Generatoren: Sie liefern jeweils ein Element, ohne eine riesige Liste aufzubauen. So bleibt der Speicherbedarf beim Durchlaufen gering.

Mit einer Prüfung kombinieren

Erzeugen Sie Kandidaten und behalten Sie anschließend nur diejenigen, die Ihren Test bestehen. Dieses Muster macht aus einer schwierigen Suche eine kurze, gut lesbare Schleife.

best = min(itertools.permutations(cities), key=tour_length)

combinations_with_replacement

Müssen Sie Elemente auswählen, die sich wiederholen dürfen? Verwenden Sie combinations_with_replacement, damit dasselbe Element mehr als einmal in einer Gruppe vorkommen kann.

Das richtige Werkzeug auswählen

Stellen Sie sich zwei Fragen: Spielt die Reihenfolge eine Rolle, und dürfen sich Elemente wiederholen? Die Antworten führen Sie direkt zur richtigen itertools-Funktion.

Kurze Überprüfung

Sie müssen jede Möglichkeit aufzählen, 3 von 6 Elementen auszuwählen, wobei die Reihenfolge keine Rolle spielt.

Zusammenfassung

Verwenden Sie product, permutations und combinations, um Möglichkeiten übersichtlich aufzuzählen. Entscheiden Sie anhand der Fragen, ob die Reihenfolge wichtig ist und ob sich Elemente wiederholen, und behalten Sie das Wachstum im Blick. 🚀

Häufig gestellte Fragen

Ist die Lektion „Mit itertools aufzählen“ kostenlos?

Ja — der vollständige Text von „Mit itertools aufzählen“ 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 „Mit itertools aufzählen“?

Produkte, Kombinationen und Permutationen 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 2 von 4.

Wie lange dauert die Lektion „Mit itertools aufzählen“?

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. Brute Force ist eine gültige Strategie
  2. Mit itertools aufzählen
  3. Teilmenge mit Bitmasken aufzählen
  4. Den Suchraum gezielt verkleinern
← Zurück zu Competitive Programming Academy