logo

Python | Obteniu les claus del diccionari com a llista

Donat un diccionari, escriviu un programa Python per obtenir les claus del diccionari com a llista.

Exemples:



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

Mètode 1: Obteniu les claus del diccionari com a llista amb dict.keys()

La funció Python list() pren qualsevol iterable com a paràmetre i retorna una llista. A Python, iterable és l'objecte sobre el qual podeu iterar.

Python 3








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

>

>

Sortida

[1, 2, 3]>

La complexitat temporal del programa és O(n), on n és el nombre de claus del diccionari.

La complexitat espacial del programa és O(n), on n és el nombre de claus del diccionari. Això es deu al fet que el programa crea un nou objecte de llista amb el mateix nombre d'elements que les claus del diccionari, que requereix memòria addicional.

marc de col·leccions java

Mètode 2: Obteniu les claus del diccionari com a llista mitjançant el mètode For Loop i Append

En aquest mètode, repetirem cada clau utilitzant el funció dict.keys(). i adjuntar a una llista nova anomenada com a llista.

Python 3




# 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>))>

>

>

Sortida

[1, 2, 3]>

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Mètode 3: claus del diccionari per llistar mitjançant la comprensió de llistes

Aquí, intentarem escurçar el nostre codi utilitzant la comprensió de llistes a Python.

Python 3




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

>

>

Sortida

[1, 2, 3]>

Complexitat temporal: O(n), on n és el nombre de parells clau-valor del diccionari.
Espai auxiliar: O(n), per emmagatzemar les claus i els valors al diccionari.

Mètode 4: Claus de diccionari per llistar mitjançant Desempaquetat amb *

Desempaquetar amb * funciona amb qualsevol objecte iterable, i com que els diccionaris retornen les seves claus quan s'iteruen, podeu crear fàcilment una llista utilitzant-la dins d'un literal de llista.

Python 3




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

>

>

Sortida:

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

Complexitat temporal: O(N)

Espai auxiliar: O(N)

Mètode 5: Claus de diccionari per llistar mitjançant itemgetter

El captador d'elements del mòdul d'operador retorna un objecte cridable que obté un element del seu operand mitjançant l'operant de __getitem__ () mètode. Aquest mètode s'assigna a dict.items() i després s'envia a la llista.

Python 3




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>))>

>

>

Sortida:

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

Mètode 6: Ús de Map i lambda

Un altre enfocament per obtenir les claus del diccionari com a llista és utilitzar la funció map() en combinació amb una funció lambda.

Aquí teniu un exemple de com es pot fer això:

Python 3




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>

>

>

Sortida

[1, 2, 3]>

Aquest enfocament utilitza la funció map() per aplicar la funció lambda a cada element del diccionari, que retorna la clau de cada element. L'objecte iterador resultant es passa a la funció list() per crear una llista de les claus.

Aquest enfocament té una complexitat temporal de O(n) i una complexitat espacial auxiliar de O(n), on n és el nombre de claus del diccionari. És una manera concisa i eficient d'obtenir les claus del diccionari com a llista.