Python Convert List to Dictionary: Una Guía Completa

Oct 17, 2021
admin

Puede convertir una lista de Python en un diccionario utilizando una comprensión de diccionario, dict.fromkeys(), o el método zip(). Los tres métodos crean un nuevo diccionario. No modifican la lista existente.

Las listas y los diccionarios de Python son dos estructuras utilizadas para almacenar datos. Pero, ¿qué pasa si quieres convertir una lista en un diccionario? Es posible que quieras hacerlo si quieres asignar una etiqueta única a cada valor que hayas almacenado. Esto sólo es posible en un diccionario.

Hay algunas técnicas y funciones incorporadas que puedes utilizar en Python para convertir una lista en un diccionario. Este tutorial de programación discutirá, con referencia a ejemplos, cómo convertir una lista en un diccionario en Python.

Listas y diccionarios de Python

Las listas y los diccionarios son ejemplos de colecciones de Python. Permiten almacenar múltiples valores similares juntos en una estructura de datos.

Formulario-submission
Find Your Bootcamp Match
  • Career Karma te empareja con los mejores bootcamps tecnológicos
  • Obtén becas y cursos de preparación exclusivos

La estructura de datos de lista te permite almacenar datos en un orden específico. Aquí hay un ejemplo de una lista de Python:

takeout_prices = 

Nuestra lista llamada precios_de_comida contiene cuatro valores.

Los diccionarios, por otro lado, no están ordenados, y no pueden almacenar múltiples valores duplicados.

Aquí hay un ejemplo de un diccionario de Python:

takeout_prices = {'single_chips': 2.50,'large_chips': 2.75,'single_fish': 4.50,'large_fish': 5.00}

Los diccionarios son útiles si quieres asociar etiquetas a cada valor. Las listas son mejores si está almacenando datos similares, como una lista de precios o nombres, donde no puede etiquetar cada valor.

Python convierte una lista en un diccionario

Puede convertir una lista de Python en un diccionario utilizando el método dict.fromkeys(), una comprensión del diccionario o el método zip(). El método zip() es útil si quieres fusionar dos listas en un diccionario.

Resumamos rápidamente estos métodos:

  • dict.fromkeys(): Se utiliza para crear un diccionario a partir de una lista. Opcionalmente se puede establecer un valor por defecto para todas las claves. No se pueden establecer valores individuales para cada elemento del diccionario.
  • Comprensión del diccionario: Crea un nuevo diccionario a partir de una lista existente. Puede especificar valores diferentes para cada clave del diccionario. Las comprensiones de diccionario son similares a las comprensiones de lista de Python en cuanto a su estructura.
  • Zip(): Convierte dos o más listas en una lista de tuplas. Puedes utilizar el método dict() para convertir la lista de tuplas en un diccionario.

Vamos a utilizar cada uno de los tres métodos anteriores para demostrar cómo podemos convertir una lista en un diccionario.

Python Convertir lista en diccionario: dict.fromkeys()

Supongamos que tenemos una lista de frutas que queremos convertir en un diccionario. El valor asignado a cada fruta debería ser En stock:

fruits = 

Podríamos crear este diccionario utilizando el método dict.fromkeys(). Este método acepta una lista de claves que se quiere convertir en un diccionario. Opcionalmente, puedes especificar un valor que quieras asignar a cada clave.

Sólo puedes especificar un valor a asignar a cada clave. No puedes decir que una clave debe tener un valor y otra clave debe tener un valor diferente.

Convirtamos nuestra lista de frutas en un diccionario:

fruits = fruit_dictionary = dict.fromkeys(fruits, "In stock")print(fruit_dictionary)

Nuestro código devuelve los objetos de esta lista en un objeto diccionario:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Primero declaramos una variable Python llamada frutas que almacena los nombres de las claves que queremos usar en nuestro diccionario.

Utilizamos dict.fromkeys() para crear un diccionario que utilice los nombres de las claves que almacenamos en el array de frutas. Este método asigna el valor de cada clave como En stock. Finalmente, imprimimos el nuevo diccionario en la consola.

Si no especificáramos el valor En stock en nuestro código, el valor por defecto de las claves de nuestro diccionario sería Ninguno.

Convertir lista en diccionario Python: Comprensión de diccionario

También podemos utilizar una técnica llamada comprensión de diccionario para convertir una lista de Python en un diccionario utilizando los mismos valores.

Una comprensión de diccionario es similar a una comprensión de lista en que ambos métodos crean un nuevo valor de sus respectivos tipos de datos. Las comprensiones de diccionario utilizan corchetes en punta ({}) mientras que las comprensiones de lista utilizan corchetes ().

Convirtamos nuestra lista de frutas en un diccionario utilizando la comprensión de diccionario:

fruits = fruit_dictionary = { fruit : "In stock" for fruit in fruits }print(fruit_dictionary)

Nuestro código devuelve:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Primero, declaramos una lista llamada frutas que almacenaba los nombres que queríamos trasladar a un diccionario.

Después, utilizamos la comprensión de diccionario para recorrer cada elemento de la lista de frutas. Añadimos un elemento a nuestro nuevo diccionario por cada fruta de nuestra lista. El valor que asignamos a cada fruta fue En stock. Finalmente, imprimimos nuestro nuevo diccionario en la consola.

Python Convert List to Dictionary: zip()

En nuestro último ejemplo, hemos convertido una sola lista en un diccionario y hemos asignado un valor por defecto para cada elemento del diccionario. Sin embargo, es posible convertir dos listas en un diccionario.

Para ello, podemos utilizar la función zip() de Python. Esta función nos permite unir dos listas. Podemos utilizar una lista como las claves del diccionario y la otra como los valores.

Supongamos que tenemos dos listas: una que contiene una lista de frutas, y la otra que contiene el precio de una pieza individual de fruta. Queremos crear un único diccionario que almacene el nombre de una fruta, junto con su precio. Podemos utilizar el siguiente código para realizar esta tarea:

fruits = prices = fruit_dictionary = dict(zip(fruits, prices))print(fruit_dictionary)

Nuestro código devuelve:

{'Apple': 0.35, 'Pear': 0.4, 'Peach': 0.4, 'Banana': 0.28}

Primero, hemos especificado dos listas: una lista de frutas, y una lista de precios. A continuación, hemos utilizado la función zip() para unir las dos listas. La función zip() devuelve una lista de tuplas fusionadas. Como queremos un diccionario, hemos utilizado dict() para convertir nuestras tuplas en un diccionario.

A continuación, imprimimos el contenido de nuestro nuevo diccionario en la consola.

Conclusión

Para convertir una lista en un diccionario utilizando los mismos valores, puedes utilizar el método dict.fromkeys(). Para convertir dos listas en un diccionario, puedes utilizar la función de Python zip(). La comprensión del diccionario te permite crear un nuevo diccionario basado en los valores de una lista.

En este tutorial, hemos utilizado ejemplos para demostrar cómo utilizar tres enfoques para convertir una lista en un diccionario en Python. Ahora estás listo para empezar a convertir listas de Python en diccionarios como un programador profesional.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.