Dado un diccionario, escriba un programa Python para obtener las claves del diccionario como una lista.
Ejemplos:
Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B']> Método 1: Obtenga las claves del diccionario como una lista usando dict.keys()
La función Python list() toma cualquier iterable como parámetro y devuelve una lista. En Python, iterable es el objeto sobre el que puedes iterar.
Python3
mydict>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> list>(mydict.keys())> print>(keysList)> |
>
>Producción
[1, 2, 3]>
La complejidad temporal del programa es O (n), donde n es el número de claves en el diccionario.
La complejidad espacial del programa es O(n), donde n es el número de claves en el diccionario. Esto se debe a que el programa crea un nuevo objeto de lista con la misma cantidad de elementos que las claves del diccionario, lo que requiere memoria adicional.
10 de 100.00
Método 2: Obtenga las claves del diccionario como una lista usando For Loop y el método de agregar
En este método, iteraremos sobre cada clave usando el función dict.keys() y adjuntar a una nueva lista denominada lista.
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>))> |
>
>Producción
[1, 2, 3]>
Complejidad del tiempo: O(n)
Espacio auxiliar: O(n)
Método 3: Claves del diccionario para enumerar mediante comprensión de listas
Aquí, intentaremos acortar nuestro código usando la comprensión de listas en Python.
Python3
dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> [key>for> key>in> dict>]> print>(keysList)> |
>
>Producción
[1, 2, 3]>
Complejidad del tiempo: O (n), donde n es el número de pares clave-valor en el diccionario.
Espacio auxiliar: O(n), para almacenar las claves y valores en el diccionario.
Método 4: Claves del diccionario para enumerar usando Desempaquetar con *
Descomprimir con * funciona con cualquier objeto iterable y, dado que los diccionarios devuelven sus claves cuando se itera, puede crear fácilmente una lista usándola dentro de una lista literal.
Python3
def> getList(>dict>):> >return> [>*>dict>]> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))> |
>
>
Producción:
['a', 'b', 'c']>
Complejidad del tiempo: O(N)
Espacio auxiliar: O(N)
Método 5: Claves del diccionario para la lista usando itemgetter
El itemgetter del módulo operador devuelve un objeto invocable que recupera un elemento de su operando usando la información del operando. __obtiene el objeto__ () método. Este método se asigna a dict.items() y luego se encasilla en la lista.
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>))> |
>
>
Producción:
['a', 'b', 'c']>
Método 6: uso de Map y lambda
Otro método para obtener las claves del diccionario como una lista es utilizar la función map() en combinación con una función lambda.
A continuación se muestra un ejemplo de cómo se puede hacer esto:
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> |
>
>Producción
[1, 2, 3]>
Este enfoque utiliza la función map() para aplicar la función lambda a cada elemento del diccionario, que devuelve la clave de cada elemento. El objeto iterador resultante luego se pasa a la función list() para crear una lista de claves.
Este enfoque tiene una complejidad temporal de O(n) y una complejidad espacial auxiliar de O(n), donde n es el número de claves en el diccionario. Es una forma concisa y eficaz de obtener las claves del diccionario en forma de lista.