logo

sort() i Python

Sorteringsfunktionen kan bruges til at sortere listen i både stigende og faldende rækkefølge. Det kan bruges til at sortere lister over heltal, flydende kommatal, strenge og andre i Python . Dens tidskompleksitet er O(NlogN).

Python sort() Syntaks

Syntaksen for sort()-funktionen i Python er som følger.



Syntaks: liste_navn.sort(tast=…, omvendt=…)

Parametre:

Som standard kræver Python sort() ingen ekstra parametre og sorterer listen i stigende rækkefølge. Den har dog to valgfrie parametre:



  • nøgle: funktion, der fungerer som en nøgle til sorteringssammenligningen
  • baglæns: Hvis det er sandt, sorteres listen i faldende rækkefølge.

Returværdi: Sort() returnerer ikke noget, men ændrer den oprindelige liste i henhold til den beståede parameter.

Hvad er Python sort() funktion?

I Python ersort()>funktion er en metode, der hører til listen. Det bruges som standard til at sortere i python eller elementerne i en liste i stigende rækkefølge. Detsort()>metoden ændrer den oprindelige liste på plads, hvilket betyder, at den omarrangerer elementerne direkte i det eksisterende listeobjekt i stedet for at oprette en ny sorteret liste.

Sort() i Python-eksempler

Et grundlæggende eksempel på Python sort() metode.



tænd for java

Eksempel: I dette eksempel definerer nedenstående kode en liste med navnunsorted_list>med numeriske elementer. Detsort()>metoden anvendes derefter på listen, som omarrangerer dens elementer i stigende rækkefølge. Den sorterede liste udskrives derefter og viser resultatet af sorteringsoperationen.

Python3




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

>

>

Produktion:

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

Forskellige måder at sortere() på i Python

I Python,sort()>er en indbygget metode, der bruges til at sortere elementer i en liste i stigende rækkefølge. Den ændrer den originale liste på plads, hvilket betyder, at den omorganiserer elementerne direkte på listen uden at oprette en ny liste. Detsort()>metoden returnerer ikke nogen værdi; den sorterer blot listen og opdaterer den.

  1. Sortering Liste i stigende rækkefølge
  2. Sortering Liste i faldende rækkefølge
  3. Sorter med brugerdefineret funktion Brug af nøgle
  4. Sortering Liste over strenge efter længde
  5. Sorteringsliste over Tuples af et bestemt element
  6. Sorteringsliste over Ordbøger med en specifik nøgle

Sort() i Python ved hjælp af sorteringsliste i stigende rækkefølge

`sort()`-metoden i Python bruges til at sortere en liste over elementer i stigende rækkefølge. Den ændrer den oprindelige liste på plads, og omarrangerer dens elementer til at være i stigende numerisk eller leksikografisk rækkefølge. Metoden er anvendelig til lister, der indeholder numeriske værdier, strenge eller en kombination af begge. Som standard sorterer sort() i Python en liste i stigende rækkefølge, hvis vi ikke giver den nogen parametre.

Eksempel : I dette eksempel demonstrerer nedenstående kode sorteringsoperationer på forskellige typer lister. Først sorterer den en liste over heltal (`tal`) i stigende rækkefølge ved hjælp af `sort()`-metoden. Dernæst sorterer den en liste med flydende decimaltal ('decimaltal') i stigende rækkefø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)>

>

>

Produktion:

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

Sort() i Python ved hjælp af sorteringsliste i faldende rækkefølge

For at sortere en liste i faldende rækkefølge skal du indstille den omvendte parameter til True of the sort()-funktionen i Python.

my_list.sort(reverse=True)>

Eksempel: I n denne eksempelkode definerer tre lister af forskellige typer (heltal, flydende kommatal og strenge), sorterer dem i faldende rækkefølge ved hjælp af `sort`-metoden med parameteren `reverse=True` og udskriver derefter de sorterede lister.

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)>

>

>

Produktion:

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

Sorter med brugerdefineret funktion ved hjælp af tasten

I denne metode beskrives en sorteringsoperation med en brugerdefineret funktion ved hjælp af nøgleparameteren. Dette tillader sortering baseret på et specifikt kriterium defineret af den brugerdefinerede funktion i stedet for standardrækkefølgen. Den brugerdefinerede funktion anvendes på hvert element, og listen er sorteret i overensstemmelse hermed.

Eksempel : I dette eksempel definerer kode en funktion `sortSecond`, der returnerer det andet element i en tupel. Den opretter derefter en liste over tupler, `liste1`, og sorterer den i stigende rækkefølge baseret på det andet element ved hjælp af `sortSecond`-funktionen.

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)>

>

>

Produktion:

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

Sortering af liste over strenge efter længde i Sort() i Python

I denne metode sorterer vi en liste over strenge i stigende rækkefølge efter deres længder ved at bruge funktionen `sort()` med `key=len`. Det betyder, at strengene er arrangeret fra den korteste til den længste længde i den resulterende sorterede liste.

Eksempel: I dette eksempel definerer nedenstående kode en liste over strenge,words>, og sorterer den derefter baseret på længden af ​​hver streng ved hjælp aflen()>fungere som sorteringsnøgle. Til sidst udskriver den den sorterede liste.

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)>

>

>

Output:

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

Sortering af liste over tuples efter et specifikt element

For at sortere en liste over tuples efter et specifikt element, brug `sort()`-funktionen med `key`-parameteren. Angiv en lambda-funktion som nøglen, der målretter mod det ønskede elements indeks. Tuplerne vil blive sorteret baseret på værdierne af det specifikke element.

Eksempel: I denne metode definerer koden en liste over tuples med navnet 'mennesker', hvor hver tuple repræsenterer en persons navn og alder. Den sorterer derefter listen baseret på det andet element i hver tupel (alder) ved hjælp afsort>metode og en lambda-funktion som sorteringsnøgle.

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)>

>

>

Output:

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

Sortering af liste over ordbøger efter en bestemt nøgle

Denne metode involverer at bruge funktionen `sort()` på en liste over ordbøger i Python. Ved at angive en lambda-funktion som nøgleparameter kan du sortere listen baseret på en bestemt nøgle i hver ordbog. Dette gør det muligt at arrangere listen over ordbøger i stigende rækkefølge i henhold til de værdier, der er knyttet til den valgte nøgle.

Eksempel : I dette eksempel definerer kode en liste over kaldede ordbøgerstudents>, hvor hver ordbog repræsenterer en elev med navne- og aldersnøgler. Den sorterer derefter listen over ordbøger baseret på aldersnøglen i hver ordbog ved hjælp afsort>metode og en lambda-funktion som nøglen.

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)>

>

>

Output:

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

Forskellen mellem sorted() og sort() funktion i Python

Lad os se forskellen mellem sorteret() og sort() funktion i Python:

Python sorteret()

Python sort()

Funktionen sorted() returnerer en sorteret liste over det specifikke iterable objekt. Sort()-metoden sorterer listen.
Vi kan angive stigende eller faldende rækkefølge, mens vi bruger sorted()-funktionen Den sorterer listen i stigende rækkefølge som standard.
Syntaks : sorteret (iterbar, nøgle=nøgle, omvendt=omvendt) Syntaks : list.sort(reverse=True|False, key=myFunc)
Dens returtype er en sorteret liste. Vi kan også bruge det til at sortere en liste i faldende rækkefølge.

Kan bruges med enhver iterabel, selvom sammenligning mellem elementer ikke er defineret

Kræver elementer for at være sammenlignelige ved hjælp af<>og>>operatører

Bevarer den relative rækkefølge af lige elementer, hvilket gør den stabil.

Kan ikke være stabil; rækkefølgen af ​​lige elementer kan ændre sig.

O(n log n) tidskompleksitet for de fleste tilfælde.

O(n log n) tidskompleksitet for de fleste tilfælde.

Den kan kun sortere en liste, der kun indeholder én type værdi. Det sorterer listen på plads.

Understøtter enkey>parameter for brugerdefinerede sorteringskriterier.

Understøtter også enkey>parameter for brugerdefinerede sorteringskriterier.

Kræver yderligere hukommelse til den nye sorterede liste.

Udfører sorteringen på stedet og sparer hukommelse.

For at vide mere se venligst Python forskel mellem sorteret() og sort()-funktionen .