Enumereren met itertools
Producten, combinaties en permutaties
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 itertoolsproduct 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. 🚀
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
- Brute force is een geldige strategie
- Enumereren met itertools
- Deelverzamelingen enumereren met bitmaskers
- De zoekruimte slim verkleinen