Det er to elementer i en Python-ordbok-nøkler og verdier. Du kan sortere ordboken etter nøkler, verdier eller begge deler. I denne artikkelen vil vi diskutere metodene for å sortere ordbøker etter nøkkel eller verdi ved å bruke Python .
Behov for sorteringsordbok i Python
Vi trenger sortering av data for å redusere kompleksiteten til dataene og gjøre spørringer raskere og mer effektive. Sortering er svært viktig når vi har å gjøre med store mengder data.
Vi kan sortere en ordbok etter verdier ved å bruke disse metodene:
- Først sorterer du nøklene alfabetisk ved hjelp av nøkkelverdi. iterkeys() funksjon.
- For det andre, sorter nøklene alfabetisk ved å bruke sortert (nøkkelverdi) funksjon og skriv ut verdien som tilsvarer den.
- For det tredje, sorter verdiene alfabetisk ved hjelp av nøkkelverdi. iteritems() , nøkkel = lambda (k, v) : (v, k))
Sorter Python-ordbøker etter nøkkel- eller verdieksempler
Her er de viktigste oppgavene som må utføres for å sortere en ordbok etter verdi og nøkler i Python.
- Lage en ordbok og vise listetastene alfabetisk.
- Vis både nøklene og verdiene, sortert etter nøkkel i alfabetisk rekkefølge.
- Vis til slutt både nøklene og verdiene, sortert etter verdi i alfabetisk rekkefølge.
Eksempel 1: Sortering av ordbok etter nøkkel
I dette eksemplet vil vi sortere ordboken etter nøkler og resultattypen vil være en ordbok.
Python3
myDict>=> {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> myKeys>=> list>(myDict.keys())> myKeys.sort()> sorted_dict>=> {i: myDict[i]>for> i>in> myKeys}> print>(sorted_dict)> |
>
>Produksjon
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}> Eksempel 2: Vise nøklene i sortert rekkefølge
I dette eksemplet prøver vi å sortere ordboken etter nøkler og verdier i Python. Her returnerer iterkeys() en iterator over ordbokens nøkler.
Python3
regresjonstesting i programvaretesting
# Function calling> def> dictionary():> ># Declare hash function> >key_value>=> {}> # Initializing value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> >print>(>'Task 1:-
'>)> >print>(>'key_value'>, key_value)> ># iterkeys() returns an iterator over the> ># dictionary’s keys.> >for> i>in> sorted>(key_value.keys()):> >print>(i, end>=>' '>)> def> main():> ># function calling> >dictionary()> # Main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Produksjon
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6> Eksempel 3: Sortering av ordboken etter nøkkel
I dette eksemplet vil vi sortere i leksikografisk rekkefølge ved å ta nøkkelens type som en streng.
hvordan gi nytt navn til en katalog i linux
Python3
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> dict> => {>'ravi'>:>'10'>,>'rajnish'>:>'9'>,> >'sanjeev'>:>'15'>,>'yash'>:>'2'>,>'suraj'>:>'32'>}> dict1>=> OrderedDict(>sorted>(>dict>.items()))> print>(dict1)> |
>
>Produksjon
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])> Eksempel 4: Sortere nøklene og verdiene alfabetisk ved hjelp av nøkkelen
I dette eksemplet prøver vi å sortere ordboken etter nøkler og verdier i Python. Her bruker vi en iterator over ordbokens verdi for å sortere nøklene.
Python3
hvordan konvertere streng til heltall i java
# function calling> def> dictionairy():> ># Declaring the hash function> >key_value>=> {}> # Initialize value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 2:-
Keys and Values sorted in'>,> >'alphabetical order by the key '>)> > ># sorted(key_value) returns a sorted list> ># of the Dictionary’s keys.> >for> i>in> sorted>(key_value):> >print>((i, key_value[i]), end>=>' '>)> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Produksjon
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 2:- Keys and Values sorted in alphabetical order by the key (1, 2) (2, 56) (3, 323) (4, 24) (5, 12) (6, 18)> Eksempel 5: Sortere nøklene og verdiene alfabetisk ved å bruke verdien
I dette eksemplet prøver vi å sortere ordboken etter nøkler og verdier i Python. Her bruker vi å sortere i leksikografisk rekkefølge.
Python3
# Function calling> def> dictionairy():> ># Declaring hash function> >key_value>=> {}> # Initializing the value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 3:-
Keys and Values sorted'>,> >'in alphabetical order by the value'>)> ># Note that it will sort in lexicographical order> ># For mathematical way, change it to float> >print>(>sorted>(key_value.items(), key>=>lambda> kv:> >(kv[>1>], kv[>0>])))> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Produksjon
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 3:- Keys and Values sorted in alphabetical order by the value [(1, 2), (5, 12), (6, 18), (4, 24), (2, 56), (3, 323)]> Tidskompleksiteten for dette programmet er O(n log n), der n er antall nøkkelverdi-par i ordboken.
Ekstraromskompleksiteten for dette programmet er også O(n), der n er antall nøkkelverdi-par i ordboken.
Eksempel 6: Sortering av ordbok etter verdi
I dette eksemplet prøver vi å sortere ordboken etter verdier i Python. Her bruker vi ordbokforståelse for å sortere verdiene våre.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> import> numpy as np> dict> => {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> print>(>dict>)> keys>=> list>(>dict>.keys())> values>=> list>(>dict>.values())> sorted_value_index>=> np.argsort(values)> sorted_dict>=> {keys[i]: values[i]>for> i>in> sorted_value_index}> print>(sorted_dict)> |
kantete materiale
>
>
Produksjon:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}> Tidskompleksitet: O(n log n), der n er antall elementer i ordboken.
Ekstra plass: O(n), da vi lager nye lister med nøkler og verdier, og lager en ny ordbok med samme antall oppføringer som den opprinnelige ordboken.
Vi har dekket forskjellige eksempler basert på sortering av ordbok etter nøkkel eller verdi. Å lese og øve på disse Python-kodene vil hjelpe deg å forstå sortering i Python-ordbøker.
Du kan enkelt sortere verdiene til ordbøker etter nøkkel eller verdi.
Lignende lesninger:
- Sorter en ordbok
- Ulike måter å sortere ordbok etter verdier og omvendt
- Ulike måter å sortere ordbok etter nøkler og omvendt
- Måter å sortere liste over ordbøker etter verdier
- Sorter ordboknøkkel og verdiliste