Forberedelse til kodeintervjuer · leksjon

sorted() og key-funksjonen

Sorter tall, strenger og tupler

Leksjon 1 av 413 trinn

sorted() og key-funksjonen er en gratis leksjon i Forberedelse til kodeintervjuer på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Forberedelse til kodeintervjuer, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.

Sortering gjør konkurranseoppgaver enklere

Mange konkurranseoppgaver blir enkle når dataene er sortert. Det første verktøyet ditt er sorted(), som returnerer en ny sortert liste. 🏆

sorted() returnerer en kopi

Hvis du kaller sorted(nums), forblir den opprinnelige listen uendret, og du får en ny sortert liste. Det er nyttig når du trenger inndataene senere.

nums = [3, 1, 2]
print(sorted(nums))   # [1, 2, 3]
print(nums)           # [3, 1, 2]

list.sort() sorterer på stedet

Når du ikke trenger den opprinnelige rekkefølgen, sorterer list.sort() på stedet og returnerer None. Det sparer minne for store arrayer.

nums = [3, 1, 2]
nums.sort()
print(nums)   # [1, 2, 3]

Stigende rekkefølge som standard

Som standard sorterer Python fra minst til størst. Tall går fra lavt til høyt, og strenger sorteres i ordboksrekkefølge, tegn for tegn.

print(sorted(["pear", "apple", "kiwi"]))
# ['apple', 'kiwi', 'pear']

Vend med reverse

Send inn reverse=True for å sortere fra størst til minst. Det er perfekt når et grådig steg trenger de største elementene først.

print(sorted([3, 1, 2], reverse=True))
# [3, 2, 1]

Bli kjent med funksjonen key

Argumentet key forteller sorteringen hvordan hvert element skal rangeres. Python kaller key på hvert element og sorterer etter verdiene som returneres.

words = ["bb", "a", "ccc"]
print(sorted(words, key=len))
# ['a', 'bb', 'ccc']

key med en lambda

En liten lambda lar deg sortere etter et vilkårlig uttrykk direkte. Her sorterer vi tall etter hvor langt de ligger fra null.

vals = [-5, 2, -1, 3]
print(sorted(vals, key=lambda x: abs(x)))
# [-1, 2, 3, -5]

Sorter objekter etter et felt

For tupler eller poster lar du key peke på feltet som betyr noe. Resten av elementet følger med automatisk.

people = [("Ann", 30), ("Bob", 25)]
print(sorted(people, key=lambda p: p[1]))
# [('Bob', 25), ('Ann', 30)]

Sortering er stabil

Pythons sortering er stabil: Elementer med like nøkler beholder den opprinnelige innbyrdes rekkefølgen. Dermed kan du legge sorteringer oppå hverandre for å løse likheter på en trygg måte.

key slår manuell sammenligning

En key beregnes én gang per element, så metoden holder seg rask for store inndata. Bruk den i stedet for å bytte elementer manuelt.

Sortering koster O(n log n)

Python sorterer på O(n log n)-tid. For n opptil noen hundre tusen elementer holder det seg komfortabelt innenfor en grense på ett sekund.

Sjekk deg selv

Du trenger listen sortert, men må beholde originalen uendret.

Oppsummering

Du kan ordne data med sorted() eller sortere på stedet, snu rekkefølgen med reverse og rangere hva som helst med en key. Stabil sortering holder like elementer ryddige. 🎉

Gratis å komme i gang

Lær deg Forberedelse til kodeintervjuer med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
90
Leksjoner
360

Ofte stilte spørsmål

Er leksjonen «sorted() og key-funksjonen» gratis?

Ja – hele teksten i «sorted() og key-funksjonen» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Forberedelse til kodeintervjuer-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.

Hva lærer jeg i «sorted() og key-funksjonen»?

Sorter tall, strenger og tupler Du øver på Forberedelse til kodeintervjuer med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Forberedelse til kodeintervjuer?

Ingen tidligere erfaring er nødvendig. Forberedelse til kodeintervjuer på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «sorted() og key-funksjonen»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Forberedelse til kodeintervjuer-leksjonen?

Ja. Alle Forberedelse til kodeintervjuer-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. sorted() og key-funksjonen
  2. Sorter etter flere felt
  3. Egendefinert rekkefølge med functools.cmp_to_key
  4. Hvorfor sortering først åpner for løsninger
← Tilbake til Forberedelse til kodeintervjuer