sorted() en de key-functie
Getallen, strings en tuples sorteren
sorted() en de key-functie is een gratis Voorbereiding op programmeerinterviews-les op CoddyKit. Dit is les 1 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.
Sorteren wint wedstrijden
Veel wedstrijdopgaven worden eenvoudig zodra de gegevens geordend zijn. Je eerste hulpmiddel is sorted(), dat een nieuwe gesorteerde lijst teruggeeft. 🏆
sorted() geeft een kopie terug
Met sorted(nums) blijft de oorspronkelijke lijst ongewijzigd en krijg je een nieuwe gesorteerde lijst. Handig als je de invoer later nog nodig hebt.
nums = [3, 1, 2]
print(sorted(nums)) # [1, 2, 3]
print(nums) # [3, 1, 2]list.sort() sorteert ter plekke
Als je de oorspronkelijke volgorde niet nodig hebt, sorteert list.sort() ter plekke en geeft None terug. Dat bespaart geheugen bij grote arrays.
nums = [3, 1, 2]
nums.sort()
print(nums) # [1, 2, 3]De standaardvolgorde is oplopend
Standaard sorteert Python van klein naar groot. Getallen gaan van laag naar hoog en tekenreeksen komen in lexicografische volgorde, teken voor teken.
print(sorted(["pear", "apple", "kiwi"]))
# ['apple', 'kiwi', 'pear']Keer de volgorde om met reverse
Geef reverse=True door om van groot naar klein te sorteren. Ideaal als een hebzuchtige stap eerst de grootste items nodig heeft.
print(sorted([3, 1, 2], reverse=True))
# [3, 2, 1]Maak kennis met de functie key
Het argument key vertelt sort hoe elk item moet worden gerangschikt. Python roept key aan voor elk element en sorteert op basis van de teruggegeven waarden.
words = ["bb", "a", "ccc"]
print(sorted(words, key=len))
# ['a', 'bb', 'ccc']key met een lambda
Met een kleine lambda kun je inline op basis van elke expressie sorteren. Hier ordenen we getallen op basis van hun afstand tot nul.
vals = [-5, 2, -1, 3]
print(sorted(vals, key=lambda x: abs(x)))
# [-1, 2, 3, -5]Sorteer objecten op een veld
Richt bij tuples of gegevensobjecten key op het relevante veld. De rest van het item wordt automatisch meegenomen.
people = [("Ann", 30), ("Bob", 25)]
print(sorted(people, key=lambda p: p[1]))
# [('Bob', 25), ('Ann', 30)]Sorteren is stabiel
Sorteren in Python is stabiel: gelijke sleutels behouden hun oorspronkelijke onderlinge volgorde. Zo kun je veilig meerdere sorteerbewerkingen combineren om gelijke waarden te ordenen.
key is beter dan zelf vergelijken
Een key wordt één keer per element berekend, waardoor dit snel blijft bij grote invoer. Gebruik key in plaats van items zelf om te wisselen.
Sorteren kost O(n log n)
Python sorteert in O(n log n) tijd. Voor n tot enkele honderdduizenden past dat comfortabel binnen een limiet van één seconde.
Snelle controle
Je hebt een geordende lijst nodig, maar je moet het origineel intact houden.
Samenvatting
Je kunt gegevens ordenen met sorted() of ter plekke sorteren, de volgorde omkeren met reverse en alles rangschikken met een key. Stabiel sorteren houdt gelijke waarden netjes. 🎉
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 “sorted() en de key-functie” gratis?
Ja — de volledige tekst van “sorted() en de key-functie” 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 “sorted() en de key-functie”?
Getallen, strings en tuples sorteren 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 1 van 4.
Hoe lang duurt de les “sorted() en de key-functie”?
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
- sorted() en de key-functie
- Op meerdere velden sorteren
- Aangepaste volgorde met functools.cmp_to_key
- Waarom eerst sorteren oplossingen mogelijk maakt