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 er sort()> 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. De sort()> 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.
Eksempel: I dette eksemplet definerer koden nedenfor en liste med navn unsorted_list> med numeriske elementer. De sort()> 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. De sort()> 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 å bruke len()> 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 å bruke sort> 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 kalt students> , 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 å bruke sort> 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 .