Python | Získajte kľúče slovníka ako zoznam

Ak máte slovník, napíšte program Python, aby ste získali kľúče slovníka ako zoznam.

Príklady:

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

Metóda 1: Získajte kľúče slovníka ako zoznam pomocou dict.keys()

Funkcia Python list() berie ako parameter akúkoľvek iterovateľnú hodnotu a vracia zoznam. V Pythone je iterovateľný objekt, cez ktorý môžete iterovať.

Python3




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

Výkon

[1, 2, 3] 

Časová zložitosť programu je O(n), kde n je počet kľúčov v slovníku.

Priestorová zložitosť programu je O(n), kde n je počet kľúčov v slovníku. Program totiž vytvorí nový objekt zoznamu s rovnakým počtom prvkov ako majú kľúče v slovníku, čo si vyžaduje dodatočnú pamäť.

Metóda 2: Získajte kľúče slovníka ako zoznam pomocou metódy For Loop a pripojenia

V tejto metóde budeme opakovať každý kľúč pomocou funkciu dict.keys(). a priložiť do nového zoznamu s názvom ako zoznam.

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

Výkon

[1, 2, 3] 

Časová zložitosť: O(n)
Pomocný priestor: O(n)

Metóda 3: Zoznam kľúčov slovníka pomocou funkcie List Comprehension

Tu sa pokúsime skrátiť náš kód pomocou porozumenia zoznamu v Pythone.

Python3




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

Výkon

[1, 2, 3] 

Časová zložitosť: O(n), kde n je počet párov kľúč – hodnota v slovníku.
Pomocný priestor: O(n), na uloženie kľúčov a hodnôt v slovníku.

Metóda 4: Slovníkové kľúče na zoznam pomocou Rozbaliť s *

Rozbalenie pomocou * funguje s akýmkoľvek iterovateľným objektom, a keďže slovníky pri iterácii vracajú svoje kľúče, môžete jednoducho vytvoriť zoznam jeho použitím v rámci listového literálu.

Python3




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

Výkon:

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

Časová zložitosť: O(N)

Pomocný priestor: O(N)

Metóda 5: Slovníkové kľúče na zoznam pomocou itemgettera

Itemgetter z modulu operátora vracia volateľný objekt, ktorý načíta položku zo svojho operandu pomocou operandu __getitem__ () metóda. Táto metóda je namapovaná na dict.items() a potom pretypovaná do zoznamu.

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

Výkon:

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

Metóda 6: Použitie mapy a lambda

Ďalším prístupom k získaniu kľúčov slovníka ako zoznamu je použitie funkcie map() v kombinácii s funkciou lambda.

Tu je príklad, ako to možno urobiť:

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>

Výkon

[1, 2, 3] 

Tento prístup využíva funkciu map() na aplikáciu funkcie lambda na každú položku v slovníku, ktorá vráti kľúč z každej položky. Výsledný objekt iterátora sa potom odovzdá funkcii list() na vytvorenie zoznamu kľúčov.

Tento prístup má časovú zložitosť O(n) a pomocnú priestorovú zložitosť O(n), kde n je počet kľúčov v slovníku. Je to stručný a efektívny spôsob, ako získať kľúče slovníka ako zoznam.