logo

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äť.

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.