Convertir un diccionario en una lista en Python

  1. Convertir claves de diccionario a una lista usando el método keys() en Python
  2. Convertir valores de diccionario a una lista usando el método values() en Python
  3. Convertir el diccionario en una lista de tuplas en Python

Un diccionario en Python es una combinación de pares clave-valor. Con la ayuda de la clave, puede acceder a los valores dentro del diccionario. Ahora, convertir un diccionario en una lista en Python puede significar cosas diferentes. Cualquiera,

  1. Puede separar las claves y convertirlas en una Lista
  2. Puede separar los valores y convertirlos en una lista.
  3. Convierta el par clave y valor del diccionario en una lista de tuplas.

Convertir claves de diccionario a una lista usando el método keys() en Python

Suponga que tiene un diccionario denominado dictionary con cuatro pares de clave-valor.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfKeys = dictionary.keys()
print("Type of variable listOfKeys is: ", type(listOfKeys))

listOfKeys = list(listOfKeys)

print("Printing the entire list containing all Keys: ")
print(listOfKeys)

print("Printing individual Keys stored in the list:")

for key in listOfKeys:
    print(key)

Producción:

Type of variable listOfKeys is:  <class 'dict_keys'>

Printing the entire list containing all Keys: 
['a', 'b', 'c', 'd']

Printing individual Keys stored in the list:
a
b
c
d

Puede utilizar el método keys(), que extraerá todas las claves del diccionario y luego almacenará el resultado (todas las claves) dentro de la variable listOfKeys.

Ahora tienes que convertir la variable listOfKeys en una lista con la ayuda de la función list() porque en este punto si verificas el tipo de la variable listOfKeys entonces será <class 'dict_keys'>. Es por eso que estamos cambiando el tipo de variable a Lista y luego lo almacenamos en la misma variable, es decir, listOfKeys.

En este punto, ha separado correctamente todas las claves del diccionario utilizando la función keys() y las ha convertido en una lista. Finalmente, para imprimir los elementos dentro de la lista, debe usar un bucle for, que itera sobre cada elemento y lo imprime.

Convertir valores de diccionario a una lista usando el método values() en Python

El método values() funciona de la misma forma que el método keys(). La única diferencia es que el método values() devuelve todos los valores del diccionario en lugar de las claves.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfValues = dictionary.values()
print("Type of variable listOfValues is: ", type(listOfValues))

listOfValues = list(listOfValues)

print("Printing the entire list containing all values: ")
print(listOfValues)

print("Printing individual values stored in the list:")

for val in listOfValues:
    print(val)

Producción:

Type of variable listOfValues is:  <class 'dict_values'>

Printing the entire list containing all values: 
['Apple', 'Banana', 'Cherries', 'Dragon Fruit']

Printing individual values stored in the list:
Apple
Banana
Cherries
Dragon Fruit

Utiliza la función values() en el diccionario y luego almacena el resultado devuelto por la función values() dentro de la variable listOfValues.

Si marca el tipo de la variable listOfValues entonces su tipo será de la clase <class 'dict_values'>. Pero quieres que sea de la clase <class 'list'>. Por lo tanto, debe convertir la variable listOfValues en una lista usando la función list() y luego almacenar el resultado en la misma variable, es decir, listOfValues.

Por último, imprima todos los valores dentro de la lista listOfValues usando un bucle.

Convertir el diccionario en una lista de tuplas en Python

Un diccionario se puede convertir en una lista de tuplas de dos formas. Una es la función items() y la otra es la función zip().

1. Función items()

La función items() convierte los elementos del diccionario en <class 'dict_items'> y el resultado se almacena en la variable myList. La myList debe convertirse en una lista, por lo que debe encasillarla usando la función list() y luego almacenar el resultado en la misma variable, es decir, myList.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.items()
print(type(myList))

myList = list(myList)

print(myList) 

Producción:

<class 'dict_items'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

2. Función zip()

La función zip() toma dos argumentos primero es la clave que usa la función keys() y segundo es la valor usando la función values() del diccionario. Luego devuelve un objeto zip que puede almacenar dentro de una variable, en este caso, myList.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = zip(dictionary.keys(), dictionary.values()) 
print(type(myList))

myList = list(myList)

print(myList) 

Producción:

<class 'zip'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

Ahora tienes que convertir el objeto zip en una lista usando la función list(). Luego puede almacenar el resultado final dentro de la misma variable llamada myList o dentro de una variable diferente dependiendo de su requerimiento y al final imprimir la lista completa.

3. iteritems() en Python 2.x

En Python v2.x, también tiene una función iteritems(), que funciona casi de la misma manera que la función items().

El iteritems() toma cada elemento del diccionario y lo convierte en un tipo diferente. Si marca el tipo de la variable myList, será de tipo <type 'dictionary-itemiterator'>. Entonces, tienes que convertirlo en una Lista usando la función list(). Si marca el tipo de la variable myList entonces será de tipo <type 'list'> y si lo imprime entonces los elementos estarán en forma de lista de tuplas.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.iteritems()
print("Type of myList is: ",type(myList))

myList = list(myList)
print(myList)

Producción:

('Type of myList is: ', <type 'dictionary-itemiterator'>)

[('a', 'Apple'), ('c', 'Cherries'), ('b', 'Banana'), ('d', 'Dragon Fruit')]

Asegúrese de ejecutar el código anterior en el compilador Python v2.x; de lo contrario, obtendrá un error porque no tenemos este método en Python v3.x.

Artículo relacionado - Python Dictionary

  • Cómo obtener todos los archivos de un directorio
  • Impresión bonita de un diccionario en Python
  • Artículo relacionado - Python List

  • Recorrer una lista en Python
  • Convertir CSV en diccionario en Python