logo

sort() i Python

Sorteringsfunksjonen kan brukes til å sortere listen i både stigende og synkende rekkefølge. Den kan brukes til å sortere lister over heltall, flyttall, strenger og andre i Python . Tidskompleksiteten er O(NlogN).

Python sort() Syntaks

Syntaksen til sort()-funksjonen i Python er som følger.



Syntaks: list_name.sort(key=…, reverse=…)

Parametere:

Som standard krever Python sort() ingen ekstra parametere og sorterer listen i stigende rekkefølge. Den har imidlertid to valgfrie parametere:



  • nøkkel: funksjon som fungerer som en nøkkel for sorteringssammenligningen
  • omvendt: Hvis sant, er listen sortert i synkende rekkefølge.

Returverdi: Sort() returnerer ikke noe, men endrer den opprinnelige listen i henhold til den beståtte parameteren.

Hva er Python sort()-funksjonen?

I Python ersort()>funksjon er en metode som tilhører listen. Den brukes til å sortere i python eller elementene i en liste i stigende rekkefølge som standard. Desort()>metoden endrer den opprinnelige listen på plass, noe som betyr at den omorganiserer elementene direkte i det eksisterende listeobjektet, i stedet for å lage en ny sortert liste.

Sort() i Python-eksempler

Et grunnleggende eksempel på Python sort()-metoden.



slå på java

Eksempel: I dette eksemplet definerer koden nedenfor en liste med navnunsorted_list>med numeriske elementer. Desort()>metoden brukes deretter på listen, som omorganiserer elementene i stigende rekkefølge. Den sorterte listen skrives deretter ut, og viser resultatet av sorteringsoperasjonen.

Python3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

Produksjon:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Ulike måter å sortere() på i Python

I Python,sort()>er en innebygd metode som brukes til å sortere elementer i en liste i stigende rekkefølge. Den endrer den opprinnelige listen på plass, noe som betyr at den omorganiserer elementene direkte i listen uten å opprette en ny liste. Desort()>metoden returnerer ingen verdi; den sorterer bare listen og oppdaterer den.

  1. Sortering Liste i stigende rekkefølge
  2. Sortering Liste i synkende rekkefølge
  3. Sorter med tilpasset funksjon Bruker nøkkel
  4. Sortering Liste over strenger etter lengde
  5. Sorteringsliste over Tuples av et spesifikt element
  6. Sorteringsliste over Ordbøker med en spesifikk nøkkel

Sort() i Python ved å bruke sorteringsliste i stigende rekkefølge

`sort()`-metoden i Python brukes til å sortere en liste over elementer i stigende rekkefølge. Den endrer den opprinnelige listen på plass, og omorganiserer elementene til å være i økende numerisk eller leksikografisk rekkefølge. Metoden kan brukes på lister som inneholder numeriske verdier, strenger eller en kombinasjon av begge. Som standard sorterer sort() i Python en liste i stigende rekkefølge hvis vi ikke gir den noen parametere.

Eksempel : I dette eksemplet demonstrerer koden nedenfor sorteringsoperasjoner på forskjellige typer lister. Først sorterer den en liste over heltall (`tall`) i stigende rekkefølge ved å bruke `sort()`-metoden. Deretter sorterer den en liste med flyttall (`desimaltall`) i stigende rekkefølge.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

Produksjon:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

Sort() i Python ved å bruke sorteringsliste i synkende rekkefølge

For å sortere en liste i synkende rekkefølge, sett revers-parameteren til True of the sort()-funksjonen i Python.

my_list.sort(reverse=True)>

Eksempel: I n denne eksempelkoden definerer tre lister av forskjellige typer (heltall, flyttall og strenger), sorterer dem i synkende rekkefølge ved å bruke `sort`-metoden med parameteren `reverse=True`, og skriver deretter ut de sorterte listene.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

Produksjon:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

Sorter med egendefinert funksjon ved hjelp av tast

I denne metoden beskriver en sorteringsoperasjon med en egendefinert funksjon ved å bruke nøkkelparameteren. Dette tillater sortering basert på et spesifikt kriterium definert av den tilpassede funksjonen i stedet for standardrekkefølgen. Den egendefinerte funksjonen brukes på hvert element, og listen sorteres deretter.

Eksempel : I dette eksemplet definerer koden en funksjon `sortSecond` som returnerer det andre elementet i en tuppel. Den lager deretter en liste over tuples, `list1`, og sorterer den i stigende rekkefølge basert på det andre elementet ved å bruke `sortSecond`-funksjonen.

Python3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

Produksjon:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Sortere liste over strenger etter lengde i Sort() i Python

I denne metoden sorterer vi en liste over strenger i stigende rekkefølge etter lengdene ved hjelp av `sort()`-funksjonen med `key=len`. Dette betyr at strengene er ordnet fra den korteste til den lengste lengden i den resulterende sorterte listen.

Eksempel: I dette eksemplet definerer koden nedenfor en liste over strenger,words>, og sorterer den deretter basert på lengden på hver streng ved å brukelen()>fungere som sorteringsnøkkel. Til slutt skriver den ut den sorterte listen.

Python3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

Utgang:

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

Sortere liste over tuples etter et spesifikt element

For å sortere en liste over tupler etter et spesifikt element, bruk `sort()`-funksjonen med `key`-parameteren. Spesifiser en lambda-funksjon som nøkkelen, rettet mot det ønskede elementets indeks. Tuplene vil bli sortert basert på verdiene til det spesifikke elementet.

Eksempel: I denne metoden definerer koden en liste over tuples kalt 'mennesker', der hver tuppel representerer en persons navn og alder. Den sorterer deretter listen basert på det andre elementet i hver tuppel (alder) ved å brukesort>metode og en lambdafunksjon som sorteringsnøkkel.

Python3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

Utgang:

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

Sortere liste over ordbøker etter en spesifikk nøkkel

Denne metoden innebærer å bruke `sort()`-funksjonen på en liste over ordbøker i Python. Ved å spesifisere en lambda-funksjon som nøkkelparameter, kan du sortere listen basert på en bestemt nøkkel i hver ordbok. Dette gjør at listen over ordbøker kan ordnes i stigende rekkefølge i henhold til verdiene knyttet til den valgte nøkkelen.

Eksempel : I dette eksempelet definerer koden en liste over ordbøker kaltstudents>, hvor hver ordbok representerer en elev med navn og aldersnøkler. Den sorterer deretter listen over ordbøker basert på aldersnøkkelen i hver ordbok ved å brukesort>metode og en lambdafunksjon som nøkkel.

Python3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

Utgang:

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Forskjellen mellom sortert() og sort() funksjon i Python

La oss se forskjellen mellom sortert() og sort()-funksjonen i Python:

Python sortert()

Python sort()

Sorted()-funksjonen returnerer en sortert liste over det spesifikke gjentakbare objektet. Sort()-metoden sorterer listen.
Vi kan spesifisere stigende eller synkende rekkefølge mens vi bruker funksjonen sortert(). Den sorterer listen i stigende rekkefølge som standard.
Syntaks : sortert (iterbar, nøkkel=tast, revers=revers) Syntaks : list.sort(reverse=True|False, key=myFunc)
Returtypen er en sortert liste. Vi kan også bruke den til å sortere en liste i synkende rekkefølge.

Kan brukes med alle iterable, selv om sammenligning mellom elementer ikke er definert

Krever at elementer er sammenlignbare ved å bruke<>og>>operatører

Opprettholder den relative rekkefølgen av like elementer, noe som gjør den stabil.

Kan ikke være stabil; rekkefølgen av like elementer kan endres.

O(n log n) tidskompleksitet for de fleste tilfeller.

O(n log n) tidskompleksitet for de fleste tilfeller.

Den kan bare sortere en liste som inneholder bare én type verdi. Det sorterer listen på plass.

Støtter akey>parameter for egendefinerte sorteringskriterier.

Støtter også enkey>parameter for egendefinerte sorteringskriterier.

Krever ekstra minne for den nye sorterte listen.

Utfører sorteringen på stedet, sparer minne.

For å vite mer vennligst se Python-forskjell mellom sortert() og sort()-funksjonen .