Der er to elementer i en Python-ordbog - nøgler og værdier. Du kan sortere ordbogen efter nøgler, værdier eller begge dele. I denne artikel vil vi diskutere metoderne til at sortere ordbøger efter nøgle eller værdi ved hjælp af Python .
Behov for sorteringsordbog i Python
Vi har brug for sortering af data for at reducere kompleksiteten af dataene og gøre forespørgsler hurtigere og mere effektive. Sortering er meget vigtig, når vi har at gøre med en stor mængde data.
Vi kan sortere en ordbog efter værdier ved at bruge disse metoder:
- Først skal du sortere nøglerne alfabetisk vha nøgleværdi. iterkeys() fungere.
- For det andet skal du sortere tasterne alfabetisk ved hjælp af sorteret (nøgleværdi) funktion og udskriv den værdi, der svarer til den.
- For det tredje skal du sortere værdierne alfabetisk vha nøgleværdi. iteritems() , nøgle = lambda (k, v) : (v, k))
Sorter Python-ordbøger efter nøgle- eller værdieksempler
Her er de vigtigste opgaver, der skal udføres for at sortere en ordbog efter værdi og nøgler i Python.
- Lave en ordbog og vise dens listetaster alfabetisk.
- Vis både nøgler og værdier, sorteret efter nøgle i alfabetisk rækkefølge.
- Vis endelig både nøgler og værdier, sorteret efter værdi i alfabetisk rækkefølge.
Eksempel 1: Sortering af ordbog efter nøgle
I dette eksempel vil vi sortere ordbogen efter nøgler, og resultattypen vil være en ordbog.
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)> |
>
>Produktion
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}> Eksempel 2: Visning af tasterne i sorteret rækkefølge
I dette eksempel forsøger vi at sortere ordbogen efter nøgler og værdier i Python. Her returnerer iterkeys() en iterator over ordbogens nøgler.
Python3
regressionstest i softwaretest
# 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()> |
>
>Produktion
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 af ordbogen efter nøgle
I dette eksempel vil vi sortere i leksikografisk rækkefølge ved at tage nøglens type som en streng.
sort arraylist java
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)> |
>
>Produktion
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])> Eksempel 4: Sortering af nøgler og værdier alfabetisk ved hjælp af nøglen
I dette eksempel forsøger vi at sortere ordbogen efter nøgler og værdier i Python. Her bruger vi en iterator over ordbogens værdi til at sortere nøglerne.
Python3
hvordan man konverterer streng til heltal 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()> |
>
>Produktion
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: Sortering af nøgler og værdier alfabetisk ved hjælp af værdien
I dette eksempel forsøger vi at sortere ordbogen efter nøgler og værdier i Python. Her bruger vi til at sortere i leksikografisk rækkefø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()> |
>
>Produktion
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 program er O(n log n), hvor n er antallet af nøgleværdi-par i ordbogen.
Hjælperumskompleksiteten for dette program er også O(n), hvor n er antallet af nøgleværdi-par i ordbogen.
Eksempel 6: Sortering af ordbog efter værdi
I dette eksempel forsøger vi at sortere ordbogen efter værdier i Python. Her bruger vi ordbogsforståelse til at sortere vores værdier.
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)> |
kantet materiale
>
>
Produktion:
{'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), hvor n er antallet af elementer i ordbogen.
Hjælpeplads: O(n), da vi opretter nye lister over nøgler og værdier og opretter en ny ordbog med det samme antal poster som den originale ordbog.
Vi har dækket forskellige eksempler baseret på sortering af ordbog efter nøgle eller værdi. At læse og øve disse Python-koder vil hjælpe dig med at forstå sortering i Python-ordbøger.
Du kan nemt sortere værdierne af ordbøger efter deres nøgle eller værdi.
Lignende læsninger:
- Sorter en ordbog
- Forskellige måder at sortere ordbog efter værdier og omvendt
- Forskellige måder at sortere ordbog efter nøgler og omvendt
- Måder at sortere liste over ordbøger efter værdier
- Sorter ordbogsnøgle og værdiliste