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.
- Sortering Liste i stigende rekkefølge
- Sortering Liste i synkende rekkefølge
- Sorter med tilpasset funksjon Bruker nøkkel
- Sortering Liste over strenger etter lengde
- Sorteringsliste over Tuples av et spesifikt element
- 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 |
| 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 a | Støtter også en |
| 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 .