Python | Získejte klíče slovníku jako seznam

Máte-li slovník, napište program Python, abyste získali klíče slovníku jako seznam.

Příklady:

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

Metoda 1: Získejte klíče slovníku jako seznam pomocí dict.keys()

Funkce list() v Pythonu bere jako parametr libovolnou iterovatelnou hodnotu a vrací seznam. V Pythonu je iterovatelný objekt, přes který můžete iterovat.

Python3




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

Výstup

[1, 2, 3] 

Časová složitost programu je O(n), kde n je počet klíčů ve slovníku.

Prostorová složitost programu je O(n), kde n je počet klíčů ve slovníku. Je to proto, že program vytvoří nový objekt seznamu se stejným počtem prvků jako klíče ve slovníku, což vyžaduje další paměť.

Metoda 2: Získejte klíče slovníku jako seznam pomocí metody For Loop a připojení

V této metodě budeme iterovat každý klíč pomocí funkce dict.keys(). a připojit do nového seznamu pojmenovaného jako 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> ))>

Výstup

[1, 2, 3] 

Časová složitost: O(n)
Pomocný prostor: O(n)

Metoda 3: Klíče slovníku k seznamu pomocí funkce List Comprehension

Zde se pokusíme zkrátit náš kód pomocí porozumění seznamu v Pythonu.

Python3




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

Výstup

[1, 2, 3] 

Časová složitost: O(n), kde n je počet párů klíč–hodnota ve slovníku.
Pomocný prostor: O(n), pro uložení klíčů a hodnot ve slovníku.

Metoda 4: Slovníkové klíče k seznamu pomocí rozbalení pomocí *

Rozbalení pomocí * funguje s jakýmkoli iterovatelným objektem, a protože slovníky při iteraci vracejí své klíče, můžete snadno vytvořit seznam jeho použitím v literálu seznamu.

Python3




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

Výstup:

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

Časová složitost: O(N)

Pomocný prostor: O(N)

Metoda 5: Slovníkové klíče k seznamu pomocí itemgetter

Itemgetter z operátorského modulu vrátí volatelný objekt, který načte položku ze svého operandu pomocí operandu __getitem__ () metoda. Tato metoda je namapována na dict.items() a poté přetypována do seznamu.

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ýstup:

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

Metoda 6: Použití mapy a lambda

Dalším způsobem, jak získat klíče slovníku jako seznam, je použít funkci map() v kombinaci s funkcí lambda.

Zde je příklad, jak to lze provést:

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ýstup

[1, 2, 3] 

Tento přístup využívá funkci map() k aplikaci funkce lambda na každou položku ve slovníku, která vrací klíč z každé položky. Výsledný objekt iterátoru je pak předán funkci list() k vytvoření seznamu klíčů.

Tento přístup má časovou složitost O(n) a pomocnou prostorovou složitost O(n), kde n je počet klíčů ve slovníku. Je to stručný a efektivní způsob, jak získat klíče slovníku jako seznam.