Sorter nestet liste i Python

Sorter nestet liste i Python

Generelt hjelper det å sortere en nestet liste i Python med å organisere dataene og gjøre det lettere å behandle og analysere. Du kan bruke denne funksjonaliteten til å sortere en liste over ordbøker med hensyn til en bestemt verdi, sortere et rede av tuples basert på et spesifikt element i hver tuple, eller sortere en liste over lister. Dessuten forbedrer sortering av nestede lister også brukeropplevelsen når de sorterte dataene blir presentert for sluttbrukere.

Denne bloggen vil dekke følgende tilnærminger:

  • Metode 1: Sorter nestet liste i Python ved bruk av "Sort ()" -metode
  • Metode 2: Sorter nestet liste i Python ved bruk av "Sortered ()" -metode
  • Metode 3: Sorter nestet liste i Python basert på lengde

Metode 1: Sorter nestet liste i Python ved bruk av "Sort ()" -metode

sortere()”Er en python innebygd metode som sorterer elementer i en nestet liste i en stigende rekkefølge automatisk. Imidlertid kan det brukes til sorteringselementer i synkende rekkefølge eller basert på de spesifiserte kriteriene.

Syntaks

Å bruke “sortere()”Metode i Python, følg den gitte syntaks:

Liste.Sorter (omvendt = falsk, nøkkel = ingen)

Her:

  • Liste”Henviser til listen du vil sortere.
  • omvendt”Er en valgfri parameter som godtar en“Falsk”Boolsk verdi for sortering i stigende rekkefølge, og“ekte”For synkende orden.
  • nøkkel”Er også en annen valgfri parameter som brukes til å definere en tilpasset sorteringsfunksjon. Dessuten å spesifisere verdien som "Ingen”Representerer standard sorteringsrekkefølge.

Eksempel 1: Sorteringsliste i stigende rekkefølge ved bruk av "sort ()" -metode

Først av alt, definere en funksjon som heter “Sortere()”Det aksepterer den usorterte listen som et argument. Deretter:

  • Liste.sortere()”Metoden påberopes på inngangslisten.
  • Denne metoden aksepterer en “nøkkel”Parameter som spesifiserer en lambda -funksjon. Denne parameteren forteller Sort () -metoden for å bruke lambda -funksjonen for å få den sorterte listen over elementer.
  • Lambda -funksjonen spesifiserer et enkelt argument “l”Som refererer til hver tuple på listen og sender ut det andre elementet“L [1]”, Som representerer den første indeksen for tupelen.
  • Merk at lambda -funksjonen forutsetter det spesifiserte elementet som sorterbar.
  • Til slutt returnerer funksjonen den sorterte listen som utgang:
def sort (liste):
Liste.Sorter (tast = lambda l: l [1])
Returliste

Deretter definerer du en nestet liste, og send den til "Sortere()”Funksjon:

Liste = [['Zeus', 40], ['Raven', 20], ['Bumblebee', 10], ['Silver Bullet', 50]]
print (sorter (liste))

Det kan observeres at den nestede listen er sortert ut i stigende rekkefølge basert på de ekstra numeriske verdiene:

Metode 2: Sorter nestet liste i Python ved bruk av "Sortered ()" -metode

sortert ()”Python fungerer ganske lik“sortere()”Metode. Som standard sorterer det også elementene i stigende rekkefølge. Imidlertid er nøkkelforskjellen at den sorterte () metoden kan brukes på enhver iterable, for eksempel ordbøker eller sett. Mens sort () -metoden ikke støtter denne funksjonaliteten.

Syntaks

Sjekk ut følgende syntaks for å bruke "sortert ()”Metode:

sortert (iterable, revers = falsk, nøkkel = ingen)

Her, “iterable”Representere inngangssekvensen du vil sortere (en nestet liste i dette tilfellet), og“omvendt”Og“nøkkel”Er valgfrie parametere som diskutert tidligere.

Eksempel

Definere en funksjon som heter “Sortere()”Det aksepterer“Liste1”Som et argument, og returnerer den sorterte nestede listen ved å bruke“sortert ()”Metode. Som "0”Er spesifisert som den første indeksen for tupelen, den sorterte () -metoden vil returnere den sorterte listen basert på det første elementet:

def sort (list1):
Return (sortert (liste1, nøkkel = lambda i: i [0])))

Opprett deretter en liste med de nødvendige elementene, og send den til "Sortere()”Metode:

List1 = [['Zeus', 10], ['Raven', 20], ['Bumblebee', 50], ['Silver Bullet', 30]]
Print (Sort (List1))

Som du ser har den nestede listen blitt sortert ut alfabetisk.

Metode 3: Sorter nestet liste i Python basert på lengde

Python “sortere()”Metode kan også brukes til å sortere den nestede listen med hensyn til lengde. For å gjøre det, spesifiser “Len”Som verdien av“nøkkel”Parameter som følger:

Liste.sorter (nøkkel = len)

Eksempel

Lag nå en nestet liste som inneholder ytterligere numeriske lister. Deretter påkaller “sortere()”Metode, og pass”Nøkkel = Len”Som argumenter. Til slutt, ring "skrive ut()”Funksjon for å vise den sorterte nestede oppført på konsollen:

LIST1 = [[5,10,15,20,25], [2,4,6], [10,15,20,25,30,35]]
Liste1.sorter (nøkkel = len)
trykk (liste1)

I dette tilfellet har den nestede listen blitt sortert ut basert på lengden på listene (i stigende rekkefølge):

Det handlet om å sortere nestede lister i Python.

Konklusjon

For å sortere en nestet liste i Python, bruk "sortere()" eller "sortert ()”Metode. Sorteringen () følger “Sorter (omvendt = falsk, nøkkel = ingen)”Syntaks. Mens for å bruke den sorterte () metoden, "sortert (iterable, revers = falsk, nøkkel = ingen)”Syntaks kan brukes. Begge disse metodene kan sortere en nestet liste i stigende eller synkende rekkefølge eller med hensyn til tupelenes indeks. Denne bloggen ga forskjellige tilnærminger for sortering av hekkelister i Python.