Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Comprensión de Diccionarios con Condición | Comprensiones de Listas y Diccionarios
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Tutorial de Bucles en Python

bookComprensión de Diccionarios con Condición

Se puede agregar una condición en una comprensión de diccionario para filtrar elementos dinámicamente al crear el diccionario. La sintaxis para una comprensión de diccionario con condición es:

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Este código recorre la lista travel_wishlist, comprobando si el presupuesto de cada destino es menor o igual a $2500. Si se cumple la condición, la ciudad y su presupuesto se agregan al diccionario affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Este ejemplo logra el mismo resultado que el anterior, pero de una manera más concisa y elegante. La condición if budget <= 2500 filtra los destinos según el presupuesto, y el diccionario resultante incluye únicamente los destinos asequibles.

Note
Nota

Si intentas desempaquetar solo dos variables (city y budget), Python no podrá procesar correctamente cada elemento de la lista, ya que cada sublista contiene tres elementos (city, country y budget). Esto provocará un error, porque Python intentará asignar tres elementos a dos variables.

Así se vería:

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Este código generará un ValueError: not enough values to unpack (expected 2, got 3), ya que cada elemento de la lista tiene tres valores y se está intentando desempaquetar solo dos.

Tarea

Swipe to start coding

Un viajero desea filtrar su travel_wishlist para incluir solo destinos en Japón. Para lograr esto de manera eficiente, es necesario extraer los pares ciudad-presupuesto relevantes en un diccionario.

  • Filtrar el travel_wishlist para incluir solo los destinos donde el país sea "Japan".
  • Guardar el diccionario resultante en japanese_destinations.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

bookComprensión de Diccionarios con Condición

Desliza para mostrar el menú

Se puede agregar una condición en una comprensión de diccionario para filtrar elementos dinámicamente al crear el diccionario. La sintaxis para una comprensión de diccionario con condición es:

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Este código recorre la lista travel_wishlist, comprobando si el presupuesto de cada destino es menor o igual a $2500. Si se cumple la condición, la ciudad y su presupuesto se agregan al diccionario affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Este ejemplo logra el mismo resultado que el anterior, pero de una manera más concisa y elegante. La condición if budget <= 2500 filtra los destinos según el presupuesto, y el diccionario resultante incluye únicamente los destinos asequibles.

Note
Nota

Si intentas desempaquetar solo dos variables (city y budget), Python no podrá procesar correctamente cada elemento de la lista, ya que cada sublista contiene tres elementos (city, country y budget). Esto provocará un error, porque Python intentará asignar tres elementos a dos variables.

Así se vería:

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Este código generará un ValueError: not enough values to unpack (expected 2, got 3), ya que cada elemento de la lista tiene tres valores y se está intentando desempaquetar solo dos.

Tarea

Swipe to start coding

Un viajero desea filtrar su travel_wishlist para incluir solo destinos en Japón. Para lograr esto de manera eficiente, es necesario extraer los pares ciudad-presupuesto relevantes en un diccionario.

  • Filtrar el travel_wishlist para incluir solo los destinos donde el país sea "Japan".
  • Guardar el diccionario resultante en japanese_destinations.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
single

single

some-alt