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.