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.
- Sortering Liste i stigende rækkefølge
- Sortering Liste i faldende rækkefølge
- Sorter med brugerdefineret funktion Brug af nøgle
- Sortering Liste over strenge efter længde
- Sorteringsliste over Tuples af et bestemt element
- 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 |
| 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 en | Understøtter også en |
| 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 .