Voorbereiding op programmeerinterviews · Les

Enumereren met itertools

Producten, combinaties en permutaties

Les 2 van 413 stappen

Enumereren met itertools is een gratis Voorbereiding op programmeerinterviews-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Voorbereiding op programmeerinterviews. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Laat itertools de lussen uitvoeren

Python's itertools genereert combinaties en volgordes voor je, zodat je minder luscode schrijft en minder fouten maakt. 🙂

Importeer het eerst

Alles staat in één module, dus begin met import itertools. Daarna kun je product, permutations en combinations rechtstreeks aanroepen.

import itertools

product voor geneste lussen

Gebruik product om diep geneste lussen over dezelfde keuzes te vervangen. Het levert elke tuple met keuzes uit de opgegeven bereiken op.

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

permutations voor volgordes

Wanneer de volgorde ertoe doet, somt permutations elke rangschikking van de items op. Ideaal voor brute kracht in de stijl van het handelsreizigersprobleem bij kleine invoer.

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

combinations voor kiezen

Wanneer de volgorde er niet toe doet, kiest combinations elke groep van grootte r. Ideaal om een deelverzameling items te kiezen en te controleren.

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

Permutaties tegenover combinaties

Het belangrijkste verschil is de volgorde: permutations behandelt (1,2) en (2,1) als verschillend, terwijl combinations ze als dezelfde keuze telt.

Let op de groei

Permutaties groeien als n!, waardoor het aantal snel explodeert. Zelfs wanneer n gelijk is aan 11, zijn er al meer dan veertig miljoen rangschikkingen, dus houd n klein.

Ze zijn lui

Deze functies zijn generatoren: ze leveren één element per keer op zonder een enorme lijst op te bouwen, zodat het geheugenverbruik tijdens je lus laag blijft.

Combineer met een controle

Genereer kandidaten en bewaar daarna alleen de kandidaten die je controle doorstaan. Met dit patroon verander je een moeilijke zoekopdracht in een korte, leesbare lus.

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

combinations_with_replacement

Moet je elementen kiezen die je mag herhalen? Gebruik combinations_with_replacement om hetzelfde element meer dan één keer in een groep toe te staan.

Kies het juiste hulpmiddel

Stel twee vragen: doet de volgorde ertoe en mogen elementen worden herhaald? Die antwoorden wijzen je rechtstreeks naar de juiste functie van itertools.

Snelle controle

Je moet elke manier opsommen om 3 van 6 elementen te kiezen, zonder dat de volgorde ertoe doet.

Samenvatting

Gebruik product, permutations en combinations om netjes op te sommen. Kies op basis van de vraag of de volgorde ertoe doet en of elementen worden herhaald, en let op de groei. 🚀

Gratis beginnen

Leer Voorbereiding op programmeerinterviews met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
90
Lessen
360

Veelgestelde vragen

Is de les “Enumereren met itertools” gratis?

Ja — de volledige tekst van “Enumereren met itertools” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Voorbereiding op programmeerinterviews wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Wat leer ik in “Enumereren met itertools”?

Producten, combinaties en permutaties Je oefent met Voorbereiding op programmeerinterviews door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Voorbereiding op programmeerinterviews te beginnen?

Ervaring vooraf is niet nodig. Voorbereiding op programmeerinterviews op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Enumereren met itertools”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Voorbereiding op programmeerinterviews?

Ja. Elke les over Voorbereiding op programmeerinterviews bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Brute force is een geldige strategie
  2. Enumereren met itertools
  3. Deelverzamelingen enumereren met bitmaskers
  4. De zoekruimte slim verkleinen
← Terug naar Voorbereiding op programmeerinterviews