Hvordan sortere med Lambda i Python

Hvordan sortere med Lambda i Python
Sorteringsoperasjonen brukes på en liste over data på ethvert programmeringsspråk. Tuple, liste og ordbok brukes i Python for å lagre flere data. Verdiene på tupelen og listen får tilgang til med numerisk indeks, og tastene får tilgang til verdiene til ordboken. Mange innebygde funksjoner finnes i Python for å sortere listen over data i stigende eller synkende rekkefølge. Lambda -funksjonen er en av dem. Koderen kan definere sorteringsrekkefølgen basert på kravet ved å bruke denne funksjonen. Bruken av lambda -funksjonen for å sortere listen og ordboksobjekter på forskjellige måter er blitt forklart i denne opplæringen.

Eksempel-1: Sorter en liste over numeriske strengdata

Opprett en Python -fil med følgende skript for å sortere en liste over strengdata ved hjelp av Lambda som inneholder alle tallverdier. En liste over 6 elementer er definert i skriptet. Her, Lambda har brukt inne i sortert () Funksjon for å sortere listen. Listevariabelen er gitt som den første argumentverdien, lambda er satt som nøkkelverdien, og startposisjonen til sorteringen er satt i det tredje argumentet. Deretter har print () -funksjonen brukt til å skrive ut den sorterte listen med plass.

# Erklære en liste over streng med tallverdier
n_list = ['11', '50', '5', '1', '37', '19']
# Sorter listen ved hjelp av lambda og sortert funksjon
sorted_list = sortert (n_list, nøkkel = lambda x: int (x [0:]))
# Skriv ut den sorterte listen
Print ("Listen over de sorterte verdiene er:")
for verdi i sortert_list:
print (verdi, slutt = ")

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-2: Sorter en liste over tuples

Lag en Python -fil med følgende skript for å sortere en liste over tre tuples ved hjelp av Lambda, der hver tuple inneholder tre elementer. Tre typer sortering er vist i skriptet. Sorteringsposisjonen er satt til 0 i den første sorterte funksjonen. Dette vil sortere listen basert på det første elementet i hver tuple. Sorteringsposisjonen er satt til 1 i den andre sorterte funksjonen. Dette vil sortere listen basert på det andre elementet i hver tuple. Sorteringsposisjonen er satt til 2 i den tredje sorterte funksjonen. Dette vil sortere listen basert på det tredje elementet i hver tuple.

# Erklære en liste over tuples
tuple_list = [("html", 15, 'm01'), ("JavaScript", 10, 'm03'), ("bootstrap", 5, 'm02')]
# Sorter listen basert på det første elementet i tupelen
sorted_list1 = sortert (tuple_list, nøkkel = lambda x: x [0])
# Skriv ut den første sorterte listen
print ("The Sortered List basert på det første elementet: \ n", sorted_list1)
# Sorter listen basert på det andre elementet i tupelen
sorted_list2 = sortert (tuple_list, nøkkel = lambda x: x [1])
# Skriv ut den andre sorterte listen
print ("The Sortered List basert på det andre elementet: \ n", sorted_list2)
# Sorter listen basert på det tredje elementet i tupelen
sorted_list3 = sortert (tuple_list, nøkkel = lambda x: x [2])
# Skriv ut den tredje sorterte listen
Print ("The Sortered List Basert på det tredje elementet: \ n", sorted_list3)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Tre sorterte lister over tuplene har vist i utgangen basert på den sorterte posisjonen.

Eksempel-3: Sorter en liste som inneholder en annen liste

Lag en Python -fil med følgende skript for å sortere den nestede listen ved hjelp av Lambda. En tom liste er blitt erklært å lagre verdiene på den sorterte listen. Her har de nestede 'for' løkker brukt til å sortere elementene på den nestede listen. Den ytre 'for' Loop vil iterere basert på antall indre lister definert i hovedlisten. I følge skriptet, tre indre lister som definert i hovedlisten der den første indre listen har tre elementer, har den andre indre listen to elementer og den tredje indre listen har fire elementer. Den indre 'for' Loop vil iterere basert på elementene i hver indre liste. Den sorterte () -funksjonen har kalt med lambdaen inne i den indre sløyfen for å sortere den nestede listen.

# Erklære den nestede listen
Nested_list = [['Mango', 'Banana', 'Orange'], ['Rose', 'Lily'], ['Lion', 'Monkey', 'Tiger', 'Deer']]
# Erklære en tom liste
sorted_data = []
# Loop for å iterere den ytre listen
for jeg i rekkevidde (len (nestet_list)):
# Loop for å iterere den indre listen
for j i rekkevidde (len (nestet_list [i])::
# Sorter den indre listen
sorted_list = sortert (nestet_list [i], nøkkel = lambda x: x [0])
# Legg til den sorterte listen
sortert_data.vedlegg (sorted_list)
# Skriv ut den sorterte nestede listen
skrive ut ("listen etter sortering: \ n ".Format (sorted_data))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Listen over tre sorterte lister har vist i utdataene.

Eksempel-4: Sorter en liste over ordbøker

Lag en Python -fil med følgende skript for å sortere en liste over ordbøker ved hjelp av Lambda. Hver ordbok inneholder tre nøkkelverdipar inne i listen. Fire typer sortering er vist i skriptet. Den første utgangen vil vise sortering basert på kodetasten. Den andre utgangen vil vise sortering basert på navnetasten. Den tredje utgangen vil vise sortering basert på kode- og navnetastene. Den fjerde utgangen vil vise sortering i synkende rekkefølge basert på navnetasten.

# Forklar listen over ordbok
DIC_LIST = ["Code": "CSE-401", "Navn": "Multimedia", "Credit": 2.0,
"Code": "CSE-101", "Navn": "Computer Fundamental", "Credit": 1.5,
"Code": "CSE-305", "Navn": "UNIX-programmering", "Credit": 3.0]
# Skriv ut den sorterte ordboken basert på kode
print ("Sortering basert på koden: \ n", sortert (dic_list, nøkkel = lambda i: i ['kode']))
# Skriv ut den sorterte ordboken basert på navn
print ("Sortering basert på navnet: \ n", sortert (dic_list, nøkkel = lambda i: (i ['name'])))
# Skriv ut den sorterte ordboken basert på kode og navn
print ("Sortering basert på koden og navnet: \ n", sortert (dic_list, nøkkel = lambda i: (i ['kode'], i ['name']))))
# Skriv ut den sorterte ordboken i synk basert på navn
print ("Sortering i synkende rekkefølge basert på navnet: \ n", sortert (dic_list, nøkkel = lambda i: i ['name'], revers = true)))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon:

Bruken av lambda for å sortere fire forskjellige lister har vist i denne opplæringen ved å bruke enkle eksempler som vil hjelpe Python -brukerne til å forstå formålet med å bruke lambda i sortering.