Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Iteración Sobre Índices | Bucles
Introducción a Python

Desliza para mostrar el menú

book
Iteración Sobre Índices

En la tarea anterior, proporcionaste una cantidad específica de elementos a la función range(). Pero, ¿qué sucede si necesitas determinar la cantidad de manera dinámica? Aquí es donde la iteración por índices se vuelve esencial.

La iteración por índices es una técnica fundamental en Python que permite acceder y modificar elementos según sus posiciones dentro de estructuras de datos como listas o arreglos. Es especialmente útil para tareas que requieren control preciso sobre cada elemento, como actualizar niveles de inventario o gestionar datos de ventas en una tienda de comestibles.

Observa cómo Alex demuestra que iterar sobre los índices puede simplificar las operaciones en nuestro ejemplo de tienda de comestibles:

Iterar sobre los índices es útil cuando necesitas acceder tanto al índice como al valor de cada elemento en una lista. Cuando usamos range() junto con len(), estamos combinando dos funciones para generar una secuencia de números que corresponden a los índices de los elementos de la lista. Este método es particularmente útil en bucles donde necesitas acceder o modificar elementos según su posición.

Por ejemplo, este bucle for accede al índice y al valor de cada elemento en la grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Aplicación de ejemplo

Para aplicar un descuento a una lista de precios, es necesario modificar directamente los elementos de la lista. Usar un bucle simple como for cost in prices: solo proporciona una copia de cada elemento, no una referencia al elemento real en la lista. Las modificaciones realizadas de esta manera no afectarían la lista original.

Para asegurarnos de actualizar directamente cada elemento en la lista prices, utilizamos range(len(prices)) para iterar sobre los índices. Esto nos permite aplicar un factor de descuento a cada elemento:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Nota

  • La fórmula prices[cost] -= prices[cost] * discount_factor es equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Esto resta una parte del precio original (determinada por el descuento) de sí mismo, aplicando efectivamente el descuento.

  • El cost + 1 en la instrucción print ajusta el índice para que parezca comenzar desde 1 en lugar de 0, haciéndolo más amigable para el usuario.

Este método asegura que la lista original prices se actualice directamente con los nuevos precios descontados, reflejando los cambios de inmediato en todo el programa donde se utilice la lista prices.

Tarea

Swipe to start coding

Actualizar los niveles de inventario combinando datos de dos listas: stock_items y shipment_received. Luego, el resultado actualizará la lista stock_items.

  • Tanto stock_items como shipment_received son listas de listas, cada una contiene el nombre de un producto y su cantidad.
  • Utilizar un bucle for con range() y len() para iterar a través de los índices de stock_items.
  • Para cada producto, sumar la cantidad recibida al stock existente y actualizar el valor en stock_items.

Requisitos de salida

  • Para cada producto, imprimir:
    Stock updated for <product_name>: <updated_quantity> units
  • Después de todas las actualizaciones, imprimir:
    Final stock quantities:
    Stock Items: <stock_items>

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 5. Capítulo 4
Lamentamos que algo salió mal. ¿Qué pasó?

Pregunte a AI

expand
ChatGPT

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

book
Iteración Sobre Índices

En la tarea anterior, proporcionaste una cantidad específica de elementos a la función range(). Pero, ¿qué sucede si necesitas determinar la cantidad de manera dinámica? Aquí es donde la iteración por índices se vuelve esencial.

La iteración por índices es una técnica fundamental en Python que permite acceder y modificar elementos según sus posiciones dentro de estructuras de datos como listas o arreglos. Es especialmente útil para tareas que requieren control preciso sobre cada elemento, como actualizar niveles de inventario o gestionar datos de ventas en una tienda de comestibles.

Observa cómo Alex demuestra que iterar sobre los índices puede simplificar las operaciones en nuestro ejemplo de tienda de comestibles:

Iterar sobre los índices es útil cuando necesitas acceder tanto al índice como al valor de cada elemento en una lista. Cuando usamos range() junto con len(), estamos combinando dos funciones para generar una secuencia de números que corresponden a los índices de los elementos de la lista. Este método es particularmente útil en bucles donde necesitas acceder o modificar elementos según su posición.

Por ejemplo, este bucle for accede al índice y al valor de cada elemento en la grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Aplicación de ejemplo

Para aplicar un descuento a una lista de precios, es necesario modificar directamente los elementos de la lista. Usar un bucle simple como for cost in prices: solo proporciona una copia de cada elemento, no una referencia al elemento real en la lista. Las modificaciones realizadas de esta manera no afectarían la lista original.

Para asegurarnos de actualizar directamente cada elemento en la lista prices, utilizamos range(len(prices)) para iterar sobre los índices. Esto nos permite aplicar un factor de descuento a cada elemento:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Nota

  • La fórmula prices[cost] -= prices[cost] * discount_factor es equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Esto resta una parte del precio original (determinada por el descuento) de sí mismo, aplicando efectivamente el descuento.

  • El cost + 1 en la instrucción print ajusta el índice para que parezca comenzar desde 1 en lugar de 0, haciéndolo más amigable para el usuario.

Este método asegura que la lista original prices se actualice directamente con los nuevos precios descontados, reflejando los cambios de inmediato en todo el programa donde se utilice la lista prices.

Tarea

Swipe to start coding

Actualizar los niveles de inventario combinando datos de dos listas: stock_items y shipment_received. Luego, el resultado actualizará la lista stock_items.

  • Tanto stock_items como shipment_received son listas de listas, cada una contiene el nombre de un producto y su cantidad.
  • Utilizar un bucle for con range() y len() para iterar a través de los índices de stock_items.
  • Para cada producto, sumar la cantidad recibida al stock existente y actualizar el valor en stock_items.

Requisitos de salida

  • Para cada producto, imprimir:
    Stock updated for <product_name>: <updated_quantity> units
  • Después de todas las actualizaciones, imprimir:
    Final stock quantities:
    Stock Items: <stock_items>

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 5. Capítulo 4
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt