logo

Python | Pridobite slovarske ključe kot seznam

Če imate slovar, napišite program Python, da dobite ključe slovarja kot seznam.

Primeri:



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

1. način: Pridobite slovarske ključe kot seznam z dict.keys()

Funkcija Python list() vzame katero koli iterable kot parameter in vrne seznam. V Pythonu je iterable predmet, ki ga lahko ponavljate.

Python3








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

>

>

Izhod

[1, 2, 3]>

Časovna zahtevnost programa je O(n), kjer je n število ključev v slovarju.

Prostorska kompleksnost programa je O(n), kjer je n število ključev v slovarju. To je zato, ker program ustvari nov predmet seznama z enakim številom elementov kot ključi v slovarju, kar zahteva dodaten pomnilnik.

k algoritem najbližjega soseda

2. način: Pridobite slovarske ključe kot seznam z uporabo For Loop in metode dodajanja

V tej metodi bomo ponovili vsak ključ z uporabo funkcija dict.keys(). in priložiti na nov seznam, poimenovan kot seznam.

Python3




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

>

>

Izhod

[1, 2, 3]>

Časovna zahtevnost: O(n)
Pomožni prostor: O(n)

3. način: slovarski ključi za seznam z uporabo seznamskega razumevanja

Tukaj bomo poskušali skrajšati našo kodo z razumevanjem seznama v Pythonu.

Python3




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

>

>

Izhod

[1, 2, 3]>

Časovna kompleksnost: O(n), kjer je n število parov ključ-vrednost v slovarju.
Pomožni prostor: O(n), za shranjevanje ključev in vrednosti v slovarju.

4. način: Slovarski ključi za seznam z razpakiranjem *

Razpakiranje z * deluje s katerim koli predmetom, ki ga je mogoče ponoviti, in ker slovarji vrnejo svoje ključe, ko jih ponovijo, lahko enostavno ustvarite seznam tako, da ga uporabite znotraj literala seznama.

Python3




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

>

>

Izhod:

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

Časovna zahtevnost: O(N)

Pomožni prostor: O(N)

5. način: Slovarski ključi za seznam z uporabo itemgetterja

Itemgetter iz operaterskega modula vrne predmet, ki ga je mogoče priklicati, ki pridobi element iz svojega operanda z uporabo operandove __getitem__ () metoda. Ta metoda je preslikana v dict.items() in nato tipizirana v seznam.

Python3




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

>

>

Izhod:

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

Metoda 6: Uporaba zemljevida in lambda

Drug pristop za pridobitev slovarskih ključev kot seznama je uporaba funkcije map() v kombinaciji s funkcijo lambda.

Tukaj je primer, kako je to mogoče storiti:

Python3




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>

>

>

Izhod

[1, 2, 3]>

Ta pristop uporablja funkcijo map() za uporabo funkcije lambda za vsako postavko v slovarju, ki vrne ključ iz vsake postavke. Nastali predmet iteratorja se nato posreduje funkciji list(), da se ustvari seznam ključev.

Ta pristop ima časovno kompleksnost O(n) in kompleksnost pomožnega prostora O(n), kjer je n število ključev v slovarju. Je jedrnat in učinkovit način, da dobite ključe slovarja kot seznam.