Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Iterando Sobre Índices | Laços de Repetição
Introdução ao Python

Deslize para mostrar o menu

book
Iterando Sobre Índices

Na tarefa anterior, você forneceu um número específico de itens para a função range(). Mas e se for necessário determinar esse número de forma dinâmica? É aí que a iteração por índice se torna essencial.

A iteração por índice é uma técnica fundamental em Python que permite acessar e modificar elementos por suas posições em estruturas de dados como listas ou arrays. Ela é especialmente útil para tarefas que exigem controle preciso sobre cada elemento, como atualizar níveis de estoque ou gerenciar dados de vendas em um supermercado.

Veja como Alex demonstra que iterar sobre índices pode simplificar operações em nosso exemplo de supermercado:

Iterar sobre índices é útil quando é necessário acessar tanto o índice quanto o valor de cada elemento em uma lista. Quando usamos range() com len(), estamos combinando duas funções para gerar uma sequência de números correspondente aos índices dos elementos da lista. Esse método é particularmente útil em laços onde é necessário acessar ou modificar elementos com base em sua posição.

Por exemplo, este laço for acessa o índice e o valor de cada elemento em 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

Aplicação de Exemplo

Para aplicar um desconto a uma lista de preços, é necessário modificar os elementos da lista diretamente. Utilizar um loop simples como for cost in prices: apenas fornece uma cópia de cada item, e não uma referência ao item real na lista. Modificações feitas dessa forma não afetam a lista original.

Para garantir que cada elemento da lista prices seja atualizado diretamente, utilizamos range(len(prices)) para iterar sobre os índices. Isso permite aplicar um fator de desconto 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

Observação

  • A fórmula prices[cost] -= prices[cost] * discount_factor é equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Isso subtrai uma parte do preço original (determinada pelo desconto) dele mesmo, aplicando efetivamente o desconto.

  • O cost + 1 na instrução de impressão ajusta o índice para que ele comece em 1 ao invés de 0, tornando-o mais amigável para o usuário.

Esse método garante que a lista original prices seja atualizada diretamente com os novos preços com desconto, refletindo as alterações imediatamente em todo o programa onde a lista prices for utilizada.

Tarefa

Swipe to start coding

Atualização dos níveis de estoque combinando dados de duas listas: stock_items e shipment_received. O resultado atualizará a lista stock_items.

  • Tanto stock_items quanto shipment_received são listas de listas, cada uma contendo o nome de um produto e sua quantidade.
  • Utilize um laço for com range() e len() para iterar pelos índices de stock_items.
  • Para cada produto, some a quantidade recebida à quantidade existente em estoque e atualize o valor em stock_items.

Requisitos de Saída

  • Para cada produto, exibir:
    Stock updated for <product_name>: <updated_quantity> units
  • Após todas as atualizações, exibir:
    Final stock quantities:
    Stock Items: <stock_items>

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
Sentimos muito que algo saiu errado. O que aconteceu?

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

book
Iterando Sobre Índices

Na tarefa anterior, você forneceu um número específico de itens para a função range(). Mas e se for necessário determinar esse número de forma dinâmica? É aí que a iteração por índice se torna essencial.

A iteração por índice é uma técnica fundamental em Python que permite acessar e modificar elementos por suas posições em estruturas de dados como listas ou arrays. Ela é especialmente útil para tarefas que exigem controle preciso sobre cada elemento, como atualizar níveis de estoque ou gerenciar dados de vendas em um supermercado.

Veja como Alex demonstra que iterar sobre índices pode simplificar operações em nosso exemplo de supermercado:

Iterar sobre índices é útil quando é necessário acessar tanto o índice quanto o valor de cada elemento em uma lista. Quando usamos range() com len(), estamos combinando duas funções para gerar uma sequência de números correspondente aos índices dos elementos da lista. Esse método é particularmente útil em laços onde é necessário acessar ou modificar elementos com base em sua posição.

Por exemplo, este laço for acessa o índice e o valor de cada elemento em 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

Aplicação de Exemplo

Para aplicar um desconto a uma lista de preços, é necessário modificar os elementos da lista diretamente. Utilizar um loop simples como for cost in prices: apenas fornece uma cópia de cada item, e não uma referência ao item real na lista. Modificações feitas dessa forma não afetam a lista original.

Para garantir que cada elemento da lista prices seja atualizado diretamente, utilizamos range(len(prices)) para iterar sobre os índices. Isso permite aplicar um fator de desconto 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

Observação

  • A fórmula prices[cost] -= prices[cost] * discount_factor é equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Isso subtrai uma parte do preço original (determinada pelo desconto) dele mesmo, aplicando efetivamente o desconto.

  • O cost + 1 na instrução de impressão ajusta o índice para que ele comece em 1 ao invés de 0, tornando-o mais amigável para o usuário.

Esse método garante que a lista original prices seja atualizada diretamente com os novos preços com desconto, refletindo as alterações imediatamente em todo o programa onde a lista prices for utilizada.

Tarefa

Swipe to start coding

Atualização dos níveis de estoque combinando dados de duas listas: stock_items e shipment_received. O resultado atualizará a lista stock_items.

  • Tanto stock_items quanto shipment_received são listas de listas, cada uma contendo o nome de um produto e sua quantidade.
  • Utilize um laço for com range() e len() para iterar pelos índices de stock_items.
  • Para cada produto, some a quantidade recebida à quantidade existente em estoque e atualize o valor em stock_items.

Requisitos de Saída

  • Para cada produto, exibir:
    Stock updated for <product_name>: <updated_quantity> units
  • Após todas as atualizações, exibir:
    Final stock quantities:
    Stock Items: <stock_items>

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt