logo

Python | Lajittele Python-sanakirjat avaimen tai arvon mukaan

Python-sanakirjassa on kaksi elementtiä - avaimet ja arvot. Voit lajitella sanakirjan avainten, arvojen tai molempien mukaan. Tässä artikkelissa käsittelemme sanakirjojen lajittelumenetelmiä avaimen tai arvon mukaan Python .

Lajittelusanakirjan tarve Pythonissa

Tarvitsemme tietojen lajittelua vähentääksemme tietojen monimutkaisuutta ja tehdäksemme kyselyistä nopeampia ja tehokkaampia. Lajittelu on erittäin tärkeää, kun käsittelemme suurta datamäärää.



Voimme lajitella sanakirjan arvojen mukaan seuraavilla tavoilla:

java monisäikeinen
  • Lajittele ensin avaimet aakkosjärjestykseen käyttämällä avain_arvo. iterkeys () toiminto.
  • Toiseksi, lajittele avaimet aakkosjärjestykseen käyttämällä lajiteltu (avainarvo) funktio ja tulosta sitä vastaava arvo.
  • Kolmanneksi, lajittele arvot aakkosjärjestykseen käyttämällä avain_arvo. iteritems() , avain = lambda (k, v) : (v, k))

Lajittele Python-sanakirjat avain- tai arvoesimerkkien mukaan

Tässä ovat tärkeimmät tehtävät, jotka on suoritettava lajitellaksesi sanakirjaa arvon ja avainten mukaan Pythonissa.

  1. Luo sanakirja ja näyttää sen luettelonäppäimet aakkosjärjestyksessä.
  2. Näytä sekä avaimet että arvot avaimen mukaan aakkosjärjestyksessä.
  3. Näytä lopuksi sekä avaimet että arvot arvon mukaan lajiteltuina aakkosjärjestyksessä.

Esimerkki 1: Sanakirjan lajittelu avaimen mukaan

Tässä esimerkissä lajittelemme sanakirjan avainten mukaan ja tulostyypiksi tulee sanakirja.



Python 3






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)>

>

>

Lähtö

{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}>

Esimerkki 2: Avainten näyttäminen lajiteltuna

Tässä esimerkissä yritämme lajitella sanakirjaa avaimien ja arvojen mukaan Pythonissa. Tässä iterkeys() palauttaa iteraattorin sanakirjan avainten päälle.

Python 3




# 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()>

merkkijonon muuntaminen int

>

>

Lähtö

Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6>

Esimerkki 3: Sanakirjan lajittelu avaimen mukaan

Tässä esimerkissä lajitellaan leksikografisessa järjestyksessä ottamalla avaimen tyyppi merkkijonoksi.

Python 3




# 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)>

>

>

Lähtö

OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])>

Esimerkki 4: Avainten ja arvojen lajittelu aakkosjärjestykseen avaimen avulla

Tässä esimerkissä yritämme lajitella sanakirjaa avainten ja arvojen mukaan Pythonissa. Tässä käytämme sanakirjan arvon iteraattoria avainten lajitteluun.

Python 3


vastaa metodia 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()>

>

>

Lähtö

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)>

Esimerkki 5: Avainten ja arvojen lajittelu aakkosjärjestyksessä arvon avulla

Tässä esimerkissä yritämme lajitella sanakirjaa avainten ja arvojen mukaan Pythonissa. Täällä käytämme lajittelua leksikografiseen järjestykseen.

Python 3




# 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()>

>

merkkijono kokonaisluvuksi muuntaa

>

Lähtö

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)]>

Tämän ohjelman aikamonimutkaisuus on O(n log n), missä n on avainarvoparien lukumäärä sanakirjassa.

Tämän ohjelman aputilan monimutkaisuus on myös O(n), jossa n on avainarvoparien lukumäärä sanakirjassa.

Esimerkki 6: Sanakirjan lajittelu arvon mukaan

Tässä esimerkissä yritämme lajitella sanakirjan Pythonin arvojen mukaan. Tässä käytämme sanakirjan ymmärtämistä arvojemme lajitteluun.

Python 3


javan ominaisuuksia



# 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)>

>

>

Lähtö:

{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}>

Aika monimutkaisuus: O(n log n), missä n on sanakirjan kohteiden lukumäärä.
Aputila: O(n), koska luomme uusia avain- ja arvoluetteloita ja luomme uuden sanakirjan, jossa on sama määrä merkintöjä kuin alkuperäinen sanakirja.

Olemme käsitelleet erilaisia ​​esimerkkejä sanakirjan lajittelusta avaimen tai arvon mukaan. Näiden Python-koodien lukeminen ja harjoitteleminen auttaa ymmärtämään Python-sanakirjojen lajittelua.

Voit helposti lajitella sanakirjojen arvot avaimen tai arvon mukaan.

Samanlaisia ​​lukemia:

  • Lajittele sanakirja
  • Eri tapoja lajitella sanakirja arvojen ja käänteisten mukaan
  • Eri tapoja lajitella sanakirja avainten ja käänteisten mukaan
  • Tapoja lajitella sanakirjaluettelo arvojen mukaan
  • Lajittele Sanakirjan avain ja arvoluettelo