Python List sort() med eksempler
โก Smart oppsummering
Python list sort() arrangerer elementene i en liste pรฅ plass, stigende som standard eller synkende gjennom reverse-parameteren, mens en valgfri nรธkkelfunksjon sorterer etter tilpassede kriterier som lengde, tupelfelt eller brukerdefinerte funksjoner.

Hva er sort()-metoden i Python?
sort()-funksjonen i Python hjelper med รฅ sortere en liste i stigende eller synkende rekkefรธlge. Den kan brukes til รฅ sortere en numerisk liste, tupler og en strengliste. Den oppretter ikke en separat liste, men endrer eller sorterer originalen.
Syntaks for sorteringsmetode i Python
Sorteringsfunksjonen har fรธlgende syntaks:
List.sort(key=โฆ, reverse=โฆ)
Sorteringsfunksjonen har to valgfrie parametere, nemlig:
- Nรธkkel:- Denne brukes til รฅ sortere en funksjon basert pรฅ et sorteringskriterium.
- Reverse: โ den tar verdien som enten sann eller usann. Hvis sann, sorterer denne egendefinerte funksjonen listen i synkende rekkefรธlge.
Sortering av en liste i stigende rekkefรธlge ved hjelp av Sorter-metoden i Python
In Python, sorterer sorteringsfunksjonen som standard enhver liste i stigende rekkefรธlge. En liste i stigende rekkefรธlge har den laveste verdien pรฅ venstre side, og den hรธyeste verdien kommer pรฅ hรธyre side.
Eksempel:
Python kode:
base_list=["Google","Reliance","Guru99","Content","Syntax"] base_list.sort() print("the base list after sorting is",base_list)
Utgang:
the base list after sorting is ['Content', 'Google', 'Guru99', 'Reliance', 'Syntax']
Code Forklaring:
- Listen ovenfor er en tilfeldig definert strengliste.
- Den slags funksjon av Python hjelper til med รฅ sortere den tilfeldige listen i stigende rekkefรธlge, med den laveste lengden pรฅ ordet pรฅ venstre side og den hรธyeste lengden pรฅ ordet pรฅ hรธyre side.
Sortering av en liste i synkende rekkefรธlge
Sorteringsfunksjonen lar ogsรฅ en liste sorteres i synkende rekkefรธlge. Det kan defineres som rekkefรธlgen hvor listen starter med den hรธyeste verdien og slutter med den laveste verdien.
Den omvendte parameteren til sorteringsfunksjonen er tilordnet som sann for รฅ fรฅ en liste sortert i synkende rekkefรธlge.
La oss se pรฅ eksemplet nedenfor:
Python kode:
base_list=[100,600,400,8000,50] base_list.sort() print("the base list after sorting is",base_list) # Reverse Order base_list.sort(reverse=True) print("the base list after REVERSE sorting is",base_list)
Utgang:
the base list after sorting is [50, 100, 400, 600, 8000] the base list after REVERSE sorting is [8000, 600, 400, 100, 50]
Merk: Sรธrg for at tilordningen av ordet "True" til den omvendte parameteren starter med stor "T" for รฅ unngรฅ kjรธretidsfeil.
Sortering av en liste over tupler ved รฅ bruke sorteringsmetoden i Python
Python Tupler er samlinger av uforanderlige elementer som fรธlger en ordnet sekvens. Python's sorteringsfunksjon kan brukes til รฅ sortere en liste over tupler ved hjelp av en tilpasset funksjon og lambda-uttrykk.
En tilpasset funksjon kan opprettes uten navn og representeres av et lambda-uttrykk. Syntaksen for lambda-uttrykk er som fรธlger:
Syntaks:
Lambda arguments: expression
Syntaksen ovenfor tilsvarer pythonkoden nedenfor:
def name (arguments): return expression
Her er et eksempel pรฅ en tuppel og en tilpasset funksjon for รฅ illustrere hvordan en sorteringsfunksjon med nรธkkelparametere bidrar til รฅ sortere elementene i en tuppel:
Python kode:
base_list = [('Alto', 2020, 500),('MSFT', 2022, 300),('Guru99', 2019, 1070)] def get_key(base_list): return base_list[2] base_list.sort(key=get_key,reverse=True) print("The change in base list is as follows",base_list)
Utgang:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Code Forklaring:
- Den omvendte parameteren er definert som sann for รฅ sortere tuppelen i synkende rekkefรธlge.
- Den tilpassede funksjonen tar det andre elementet i tupelen.
- Dette brukes som nรธkkelen til sorteringsfunksjonen.
La oss se pรฅ eksemplet nedenfor som bruker lambda-uttrykk:
Python kode:
base_list = [('Alto', 2020, 500), ('MSFT', 2022, 300), ('Guru99', 2019, 1070)] base_list.sort(key=lambda base_list:base_list[2],reverse=True) print("The change in base list is as follows",base_list)
Utgang:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Forklaring:
- Lambda-uttrykket hjelper deg รฅ sortere elementene i tuppelen fra hรธy til lav med nรธkkelen som andre element i tupelen.
- Programmet vil sjekke den hรธyeste verdien av det andre elementet i tupelen.
Sortering av listeelementer med Len som nรธkkelparameter
Lenge er en innebygd funksjon som bestemmer lengden pรฅ elementet. Lengden som bestemmes kan brukes til indeksering i sorteringsfunksjonen. For รฅ gjรธre dette tilordner vi Lenge til Python sorteringsfunksjonens nรธkkelparameter.
Fรธlgende Python koden illustrerer hvordan du bruker Len-funksjonen med sorteringsfunksjonen.
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len) print("The sorted list based on length:",base_list)
Utgang:
The sorted list based on length: ['Alto', 'Java', 'Guru99', 'Python', 'Google']
Code Forklaring:
- Lengden pรฅ elementet blir en indeks for nรธkkelparameteren for รฅ ordne listen i stigende rekkefรธlge.
- Len-funksjonen estimerer lengden pรฅ hvert element som finnes i basislisten.
- Den holder det korteste elementet pรฅ venstre side og det stรธrste elementet pรฅ hรธyre side.
- Her har ordene alto og java lengder pรฅ 4, som er ordnet fรธrst i listen, etterfulgt av Guru99, som har en lengde pรฅ 6.
Dette eksemplet illustrerer konseptet med den reverserte parameteren i sorteringsfunksjonen som vist nedenfor:
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len,reverse=True) print("The sorted list based on length:",base_list)
Utgang:
The sorted list based on length: ['Guru99', 'Python', 'Google', 'Alto', 'Java']
Sortering av listeelementer med brukerdefinert funksjon som nรธkkelparameter
Du kan ogsรฅ bruke en brukerdefinert funksjon som en nรธkkelparameter for รฅ sortere en liste. Her er et eksempel:
Python Code:
base_list = [{'Example':'Python','year':1991},{'Example':'Alto','year':2014},{'Example':'Guru99', 'year':1995},
{'Example':'Google','year':1985},{'Example':'Apple','year':2007},{'Example':'Emails','year':2010},]
def get_year(element):
return element['year']
base_list.sort(key=get_year)
print("The base list after sorting using explicit criteria",base_list)
Utgang:
The base list after sorting using explicit criteria [{'Example': 'Google', 'year': 1985}, {'Example': 'Python', 'year': 1991}, {'Example': 'Guru99', 'year': 1995}, {'Example': 'Apple', 'year': 2007}, {'Example': 'Emails', 'year': 2010}, {'Example': 'Alto', 'year': 2014}]
Code Forklaring:
- En brukerdefinert funksjon opprettes for รฅ returnere รฅret
- Nรธkkelparameteren tar en brukerdefinert funksjon som et kriterium.
- Sorteringsfunksjonen vil ordne listen i stigende rekkefรธlge basert pรฅ verdien av elementet "รฅr".
Forskjellen mellom sorteringsmetode og sortert metode i Python
Etter รฅ ha jobbet gjennom eksemplene ovenfor, er det nyttig รฅ sammenligne de to sorteringsverktรธyene direkte. Fรธr forskjellene oppsummeres, la oss forstรฅ syntaksen til Sorted-metoden.
Python Syntaks:
sorted (list_name, reverse=โฆ., key=..)
Code Forklaring:
- Den sorterte funksjonen sorterer listen i enten stigende eller synkende rekkefรธlge.
- Funksjonen aksepterer tre parametere, hvorav to parametere er av valgfri type og en parameter er av รธnsket type.
- Parameter listenavn kreves ved bruk av Sortert-metoden.
- Den sorterte metoden kan ta hvilken som helst type itererbar liste som input.
- Nรธkkelparametere og omvendte parametere er valgfrie parametere under den sorterte metoden i Python.
Her er et eksempel pรฅ bruk av funksjonen sortert og sortert i Python:
Python kode:
#Use of the Sorted method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=sorted(Base_list) print("the New list using sorted method is",New_list) #Use of the Sort method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=Base_list.sort() print("the New list using sort method is",New_list)
Utgang:
the original list is [11, 10, 9, 8, 7, 6] the new list using the sorted method is [6, 7, 8, 9, 10, 11] the original list is [11, 10, 9, 8, 7, 6] the new list using the sort method is None
Code Forklaring:
- Den opprinnelige listen sendes som en nรธdvendig parameter for den sorterte funksjonen.
- Sortert-metoden returnerer en ny liste i tillegg til den opprinnelige listen.
- Siden ingen ekstra parametere sendes til den sorterte metoden, er den nye listen som standard sortert i stigende rekkefรธlge.
- Sorteringsfunksjonen lager ingen ny liste.
Fรธlgende er punktene om viktige likheter og forskjeller:
| Sortert funksjon | Sorteringsfunksjon |
|---|---|
| Sortert funksjon i Python er en innebygd funksjon som tar listenavn som en nรธdvendig parameter. | Sorteringsfunksjonen tar ikke den opprinnelige listen som en parameter. |
| Sortert metode returnerer en ny liste | Sorteringsfunksjonen returnerer ikke en ny liste |
| Sortert funksjon skal brukes for iterable lister | Sorteringsfunksjonen skal brukes for ikke-iterbare lister. |
| Den endrer ikke den opprinnelige listen og lar oss beholde originale data. | Sorteringsfunksjonen modifiserer den opprinnelige funksjonen og opptar derfor mindre minneplass |
Nรฅr skal man bruke sorteringsmetoden eller sorteringsmetoden?
La oss ta et eksempel som krever at lรธpsdata sorteres. Programmet bruker bib-nummeret og tiden det tar i sekunder for รฅ fullfรธre lรธpet.
Python kode:
from collections import namedtuple Base = namedtuple('Runner', 'bibnumber duration') blist = [] blist.append(Base('8567', 1500)) blist.append(Base('5234', 1420)) blist.append(Base('2344', 1600)) blist.append(Base('2342', 1490)) blist.append(Base('23444', 1620)) blist.append(Base('6674', 1906)) print("original list",blist) blist.sort(key=lambda x: getattr(x, 'duration')) top_five_result = blist[:5] print("Results using sort function",top_five_result) r_blist=sorted(blist,key=lambda x: getattr(x, 'duration')) top_five_result = r_blist[:5] print("Results using sorted function",top_five_result)
Utgang:
original list [Runner(bibnumber='8567', duration=1500), Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='23444', duration=1620), Runner(bibnumber='6674', duration=1906)] Results using sort function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)] Results using sorted function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]
Code Forklaring:
- Basislisten er sortert med bรฅde sorteringsfunksjonen og sortert funksjon.
- Basislisten gรฅr tapt nรฅr sorteringsfunksjonen brukes.
- Sorteringsfunksjonen skal ikke brukes pรฅ det opprinnelige datasettet. Den bรธr brukes nรฅr det finnes en kopiversjon av det originale datasettet.
- Sortert-funksjonen beholder den opprinnelige listen. Den overstyrer den ikke.
- Dette tilbyr bedre traceffektivitet og effektiv datahรฅndtering.

