Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende om Sorted | Høyereordensfunksjoner og Lambdaer
Funksjonelle Programmeringskonsepter i Python
Seksjon 2. Kapittel 4
single

single

bookGrunnleggende om Sorted

Sveip for å vise menyen

Sortering av data er en vanlig operasjon når man arbeider med lister i Python. Funksjonen sorted er en innebygd høyereordens funksjon som lar deg sortere enhver itererbar og returnerer en ny sortert liste, uten å endre de opprinnelige dataene. Du kan bruke sorted med eller uten egendefinert sorteringslogikk. Som standard ordner sorted elementene i stigende rekkefølge, men du kan kontrollere sorteringsrekkefølgen og kriteriene ved å bruke valgfrie parametere.

De viktigste parameterne for sorted er:

  • iterable: dataene du ønsker å sortere;
  • key: en valgfri funksjon som bestemmer verdien det skal sorteres etter for hvert element;
  • reverse: en boolsk verdi som, hvis satt til True, sorterer dataene i synkende rekkefølge.

Anta at du har en liste med tall og ønsker å sortere dem i stigende rekkefølge. Du kan ganske enkelt kalle sorted(numbers). Hvis du vil sortere tallene i synkende rekkefølge, kan du sende inn reverse=True.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

Du kan også bruke parameteren key for å sortere mer komplekse datastrukturer, som lister av tupler eller ordbøker, ved å spesifisere en funksjon som henter ut sammenligningsverdien fra hvert element.

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

Du kan sende inn hvilken som helst funksjon til key-parameteren, inkludert en lambda-funksjon eller en tidligere definert funksjon. Dette gjør sorted til en høyereordens funksjon, siden den tar en annen funksjon som argument. Sortering er ikke begrenset til tall eller strenger; du kan sortere komplekse objekter så lenge du gir en passende key-funksjon.

Note
Merk

Den opprinnelige iterable endres ikke av sorted, den returnerer alltid en ny liste. Hvis du vil sortere en liste på stedet, bruk metoden list.sort() i stedet.

Oppgave

Sveip for å begynne å kode

Sorter en liste med tupler etter det andre elementet i hver tuple ved å bruke sorted-funksjonen og en navngitt funksjon som key-parameter.

  • Du får en liste kalt pairs som inneholder tupler med to heltall.
  • Definer en funksjon kalt get_second_element som tar en tuple og returnerer dens andre verdi.
  • Bruk sorted-funksjonen og send inn get_second_element som key-parameter for å sortere pairs etter det andre elementet i hver tuple.
  • Lagre resultatet i en variabel kalt sorted_pairs.
  • Husk å fjerne pass.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt