Hvordan sortere ordbok i Python

Hvordan sortere ordbok i Python
Flere data lagres i Python ved å bruke en tuple, liste og ordbok. Når dataene lagres i Python av nøkkelverdipar som fungerer som et assosiativt utvalg av annet programmeringsspråk, kalles ordboken ordboken. Verdien av ordboken er mutbar. Ordboken kan lagres basert på verdien av nøkkelen eller verdien eller både nøkkel og verdi. Ordboken kan sorteres ved å bruke en enkel for loop, innebygde funksjoner og modul. Ulike måter å sortere ordboksdata er blitt forklart i denne opplæringen.

Eksempel 1: Bruker for loop for å sortere en ordbok

Lag en Python -fil med følgende skript for å sortere en ordbok ved hjelp av nestet for løkker. To typer sortering er vist i skriptet. En ordbok med fire gjenstander er blitt erklært her. Studentens navn er lagret i nøkkelen, og det oppnådde merket er lagret i verdien. Et tomt ordboksobjekt er blitt erklært før sortering for å lagre dataene fra den sorterte ordboken. Etter å ha skrevet ut de originale ordboksverdiene, har de nestede 'for' løkker brukt til å sortere ordboken basert på verdiene ved å sammenligne ordens verdier. En annen nestet 'for' Loop har brukt til å sortere ordboken basert på nøklene ved å sammenligne ordbokens nøkler.

# Erklære en ordbok
Marks = 'Neha Ali': 83, 'Abir Hossain': 98, 'Jafar Iqbal': 79, 'Sakil Ahmed': 65
# Skriv ut de originale verdiene til ordboken
Print ("Original Dictionary: \ n", merker)
# Sorter ordens verdier
sort_values ​​= sortert (merker.verdier ())
sorted_marks =
# Opprett den sorterte ordboken basert på verdier
for jeg i sort_values:
for k i merker.Keys ():
Hvis merker [k] == i:
sorted_marks [k] = merker [k]
gå i stykker
# Skriv ut den sorterte ordboken
print ("Sortert ordbok basert på verdiene: \ n", sortert_marks)
# Sorter nøklene til ordboken
sort_keys = sortert (merker.Keys ())
sorted_keys =
# Lag den sorterte ordboken basert på nøkler
for jeg i sort_keys:
for k i merker:
Hvis k == i:
sorted_keys [i] = merker [k]
gå i stykker
# Skriv ut den sorterte ordboken
Print ("Sortered Dictionary basert på nøklene: \ n", sortert_keys)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den opprinnelige ordboken, den sorterte ordboken basert på verdiene, og den sorterte ordboken basert på nøklene har vist i utgangen.

Eksempel-2: Bruke sortert () -funksjon med lambda

Å bruke sortert () -funksjon med lambda er en annen måte å sortere en ordbok. Lag en Python -fil med følgende skript for å sortere en ordbok ved hjelp av den sorterte () funksjonen og lambda. En ordbok med fire elementer er blitt erklært i manuset. Sorteringstypen kan settes ved å bruke lambda. Indeksposisjonen er satt til 1 i det tredje argumentet for den sorterte () -funksjonen. Det betyr at ordboken vil bli sortert basert på verdiene.

# Erklære en ordbok
Marks = 'Neha Ali': 83, 'Abir Hossain': 98, 'Jafar Iqbal': 79, 'Sakil Ahmed': 65
# Skriv ut de originale verdiene til ordboken
Print ("Original Dictionary: \ n", merker)
# Sorter ordboken basert på merker ved bruk av lambda
sorted_marks = sortert (merker.elementer (), nøkkel = lambda x: x [1])
Print ("Sortert ordbok basert på merkene: \ n", sortert_marks)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den opprinnelige ordboken, den sorterte ordboken basert på verdiene har vist i utgangen.

Eksempel-3: Bruke sortert () -funksjon med elementer ()

Å bruke sortert () -funksjon med elementer () -funksjonen er en annen måte å sortere en ordbok, og den sorterer ordboken i stigende rekkefølge basert på nøkler som standard. Du kan angi verdien av det motsatte. Lag en Python -fil med følgende skript for å sortere en ordbok ved hjelp av den sorterte () funksjonen og elementene (). Funksjonen () -funksjonen brukes til å hente nøklene eller verdiene fra ordboken. Den sorterte () -funksjonen har brukt inne i dikter () -funksjonen for å få en sortert ordbok som utgang.

# Erklære en ordbok
Marks = 'Neha Ali': 83, 'Abir Hossain': 98, 'Jafar Iqbal': 79, 'Sakil Ahmed': 65
# Skriv ut de originale verdiene til ordboken
Print ("Original Dictionary: \ n", merker)
# Sorter ordboken basert på navn som bruker DICT () og sortert ()
sorted_marks = dict (sortert ((nøkkel, verdi) for (nøkkel, verdi) i merker.elementer ()))
print ("Sortert ordbok basert på navnene: \ n", sorted_marks)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den opprinnelige ordboken, den sorterte ordboken basert på nøklene som vist i utgangen.

Eksempel-4: Bruke sortert () -funksjon med itemGetter () -funksjon

Å bruke sortert () -funksjon med itemGetter () -funksjon er en annen måte å sortere en ordbok. Det sorterer også ordboken i stigende rekkefølge som standard. ItemGetter () -funksjonen er under operatørmodulen. Lag en Python -fil med følgende skript for å sortere en ordbok ved hjelp av den sorterte () funksjonen og ItemGetter () -funksjonen. Du kan angi sorteringstypen ved hjelp av ItemGetter () -funksjonen som lambda. I henhold til følgende skript vil ordboken bli sortert basert på verdiene fordi 1 har gått som argumentverdien for ItemGetter () -funksjonen.

# Importer operatørmodul
Importoperatør
# Erklære en ordbok
Marks = 'Neha Ali': 83, 'Abir Hossain': 98, 'Jafar Iqbal': 79, 'Sakil Ahmed': 65
# Skriv ut de originale verdiene til ordboken
Print ("Original Dictionary: \ n", merker)
# Sorter ordboken basert på merker ved bruk av ItemGetter ()
sorted_marks = sortert (merker.elementer (), nøkkel = operatør.itemGetter (1))
# Skriv ut den sorterte ordboken
PRINT ("Sortert ordbok basert på merkene: \ n", dict (sorted_marks))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den opprinnelige ordboken, den sorterte ordboken basert på verdiene har vist i utgangen.

Konklusjon:

En ordbok kan sorteres med eller uten å bruke den innebygde funksjonen til Python. Fire forskjellige måter å sortere en ordbok har blitt forklart i denne opplæringen ved å bruke forskjellige typer funksjoner. Den sorterte () -funksjonen er hovedfunksjonen for å sortere en ordbok. Sorteringens rekkefølge kan også settes av denne funksjonen. En annen funksjon eller indeks brukes til å sortere dataene basert på nøklene eller verdiene ved å nevne argumentet eller indeksverdien.