logo

Python | Hanki sanakirjaavaimet luettelona

Kun olet antanut sanakirjan, kirjoita Python-ohjelma saadaksesi sanakirjan avaimet luettelona.

Esimerkkejä:



 Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B']>

Tapa 1: Hanki sanakirjaavaimet luettelona käyttämällä dict.keys()

Python list()-funktio ottaa minkä tahansa iteroitavan parametriksi ja palauttaa luettelon. Pythonissa iteroitava on objekti, jonka yli voi iteroida.

Python 3








mydict>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> list>(mydict.keys())> print>(keysList)>

>

>

Lähtö

[1, 2, 3]>

Ohjelman aikamonimutkaisuus on O(n), missä n on avainten lukumäärä sanakirjassa.

Ohjelman monimutkaisuus on O(n), missä n on avainten lukumäärä sanakirjassa. Tämä johtuu siitä, että ohjelma luo uuden listaobjektin, jossa on sama määrä elementtejä kuin sanakirjan avaimet, mikä vaatii lisämuistia.

kartoitus koneella

Tapa 2: Hanki sanakirjaavaimet luettelona For Loop ja append -menetelmällä

Tässä menetelmässä toistamme jokaisen avaimen dict.keys() -funktio ja liittää ne uuteen luetteloon, joka on nimetty luetteloksi.

Python 3




# Python program to get> # dictionary keys as list> def> getList(>dict>):> >list> => []> >for> key>in> dict>.keys():> >list>.append(key)> > >return> list> > # Driver program> dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> print>(getList(>dict>))>

>

>

Lähtö

[1, 2, 3]>

Aika monimutkaisuus: O(n)
Aputila: O(n)

Tapa 3: Sanakirjaavaimet luetteloon käyttämällä luettelon ymmärtämistä

Täällä yritämme lyhentää koodiamme käyttämällä Pythonin luettelon ymmärtämistä.

Python 3




dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> [key>for> key>in> dict>]> print>(keysList)>

>

>

Lähtö

[1, 2, 3]>

Aika monimutkaisuus: O(n), missä n on avainarvoparien lukumäärä sanakirjassa.
Aputila: O(n), avainten ja arvojen tallentamiseen sanakirjaan.

Tapa 4: Sanakirjaavaimet luetteloitavaksi käyttämällä Pakkauksen purkamista *

Pakkauksen purkaminen *:lla toimii minkä tahansa iteroitavan objektin kanssa, ja koska sanakirjat palauttavat avaimensa läpi toistettaessa, voit helposti luoda luettelon käyttämällä sitä listaliteraalissa.

Python 3




def> getList(>dict>):> >return> [>*>dict>]> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))>

>

>

Lähtö:

['a', 'b', 'c']>

Aika monimutkaisuus: O(N)

Aputila: O(N)

Menetelmä 5: Sanakirjaavaimet luetteloon itemgetterillä

Operaattorimoduulin itemgetter palauttaa kutsuttavan objektin, joka hakee kohteen operandistaan ​​käyttämällä operandin __getitem__ () menetelmä. Tämä menetelmä kartoitetaan tiedostoon dict.items() ja sitten tyyppilähetetään luetteloon.

Python 3




from> operator>import> itemgetter> def> getList(>dict>):> >return> list>(>map>(itemgetter(>0>),>dict>.items()))> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))>

>

>

Lähtö:

['a', 'b', 'c']>

Tapa 6: Kartan ja lambdan käyttö

Toinen tapa saada sanakirjaavaimet luettelona on käyttää map()-funktiota yhdessä lambda-funktion kanssa.

Tässä on esimerkki siitä, kuinka tämä voidaan tehdä:

Python 3




def> get_keys_as_list(dictionary):> >return> list>(>map>(>lambda> x: x[>0>], dictionary.items()))> # Driver program> dictionary>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> print>(get_keys_as_list(dictionary))> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

Lähtö

[1, 2, 3]>

Tämä lähestymistapa käyttää map()-funktiota lambda-funktion käyttämiseen sanakirjan jokaiseen kohtaan, joka palauttaa avaimen jokaisesta alkiosta. Tuloksena oleva iteraattoriobjekti välitetään sitten list()-funktiolle avainten luettelon luomiseksi.

Tämän lähestymistavan aikamonimutkaisuus on O(n) ja apuavaruuden monimutkaisuus O(n), missä n on avainten lukumäärä sanakirjassa. Se on ytimekäs ja tehokas tapa saada sanakirjan avaimet luettelona.