Comprensió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}
12345678910111213141516travel_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)
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.
123456789101112travel_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}
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.
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.
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_wishlistpara incluir solo los destinos donde el país sea"Japan". - Guardar el diccionario resultante en
japanese_destinations.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Genial!
Completion tasa mejorada a 5
Comprensió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}
12345678910111213141516travel_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)
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.
123456789101112travel_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}
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.
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.
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_wishlistpara incluir solo los destinos donde el país sea"Japan". - Guardar el diccionario resultante en
japanese_destinations.
Solución
¡Gracias por tus comentarios!
single