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.