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äť.
k algoritmu najbližšieho suseda
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.