logo

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

architektura sítě

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.