Convertir lista a diccionario en Python

Convertir una lista en un diccionario en Python no es tan difícil.

Veamos diferentes formas de convertir una lista en un diccionario.

Introducción

Antes de pasar al tutorial, veamos un ejemplo de cómo convertir una lista en un diccionario. Tendremos una lista de tuplas (cada tupla consta de dos elementos) o simplemente una lista de elementos. Tomaremos ambas entradas y las convertiremos a diccionarios.

Ejemplos:

En el siguiente ejemplo, hemos tomado una lista de tuplas y la hemos convertido en un diccionario. Hemos tomado el primer elemento de cada tupla como clave y el segundo elemento como valor para el diccionario.

Entrada: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

Salida: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

En el siguiente ejemplo, hemos tomado una lista de elementos y la hemos convertido en un diccionario con elementos alternativos como clave y valor. Daremos nulo a la clave si no queda ningún elemento para ella como clave (si la lista tiene un número impar de elementos).

Entrada: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

Salida:{‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: Ninguno}

Hemos visto el objetivo del tutorial. Y discutiremos ambos ejemplos de diferentes maneras. Comencemos con el primer ejemplo.

Lista de Tuplas – Diccionario

Veamos cómo convertir una lista de tuplas en un diccionario. Puede intentar escribir el código con la ayuda de los siguientes pasos.

  • Inicialice la lista de tuplas con datos ficticios como se indica en los ejemplos anteriores (asegúrese de que cada tupla de la lista tenga exactamente dos elementos).
  • Pasa la lista de tuplas al método dict y almacena el resultado en una nueva variable.
  • Eso es todo, hemos convertido una lista de tuplas en un diccionario con una sola línea de código.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

Puede probar la salida del programa anterior ejecutándolo. Obtendrás el resultado como vemos en los ejemplos.

Lista – Diccionario

Hemos visto cómo convertir una lista de tuplas en un diccionario y es algo sencillo en Python. En esta sección, veremos cómo convertir una lista simple en un diccionario.

Vea el segundo ejemplo de la primera sección del tutorial para obtener más claridad.

Siga los pasos a continuación para escribir el código para el segundo ejemplo.

Hemos rellenado el valor predeterminado como Ninguno para el elemento que no tendrá ningún valor (una lista que contiene un número impar de elementos). Para eso, necesitamos usar un método llamado zip_longest del módulo itertools.

  • Importe el módulo itertools e inicialice una lista con un número impar de elementos dados en los ejemplos.
  • Convierta la lista en iterable para evitar la repetición de pares de clave y valor en el método zip_longest.
  • Ahora, pase el iterable al método zip_longest y complete el valor como Ninguno. Devolverá un objeto zip.
    • Tenemos que pasar iterable dos veces, ya que toma la clave y el valor de los dos iterables. En nuestro caso, tanto las claves como los valores están en el mismo iterable. Entonces, debemos pasarlo dos veces antes de llenar el valor.
  • Convierta el objeto en el diccionario de Python usando el método dict.
  • Imprime el resultado.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

Puedes darle el valor de relleno lo que quieras. Prueba diferentes cosas con él. Y ejecute el código para ver si estamos obteniendo el resultado exacto como se menciona en el ejemplo o no.

Conclusión

Espero que hayas disfrutado convirtiendo la lista en un diccionario. Nos vemos en el próximo tutorial.

A continuación, aprenda a aplanar una lista en Python.

Codificación feliz 🙂

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?