Python for loop para processar itens da lista

Um loop for do Python percorre cada item em um iterável, portanto, as pesquisas python for loop geralmente significam “repetir este trabalho por item”. Use-o quando precisar aplicar a mesma regra a todos os itens de uma lista ou sequência e coletar resultados ao longo do caminho, como totais, sinalizadores ou uma lista de resumo limpa. Ele mantém o trabalho repetido legível sem indexação manual.

Exemplo de Python For Loop para itens de iteração

Saída:

A saída aparecerá aqui...

Saída:

Done: ship order
Done: email customer

Como este exemplo funciona

O loop percorre um item por vez para que você possa aplicar as mesmas regras de forma consistente.

  1. for task in tasks extrai cada string da lista.
  2. A mesma ação de impressão é executada para cada item.
  3. A saída prova que o loop foi executado uma vez por tarefa.

Erros Comuns

Erro 1: esperar que range inclua o valor final.

# Wrong: expects 1 through 5
for day in range(1, 5):
    print(day)
# Right: range stops before the end value
for day in range(1, 6):
    print(day)

Isso acontece porque range é exclusivo de fim, portanto o valor de parada nunca é produzido. Para obter mais informações, consulte o exemplo de intervalo Python.

Erro 2: modificar uma lista durante a iteração.

# Wrong: removing items shifts the list and can skip users
for user in users:
    if user["inactive"]:
        users.remove(user)
# Right: build a new list instead
active_users = []
for user in users:
    if not user["inactive"]:
        active_users.append(user)

A remoção de itens altera a lista enquanto o loop ainda está percorrendo-a, portanto, alguns elementos nunca são visitados.

Erro 3: leitura incorreta de for ... else.

# Wrong: expects else to run after a break
for item in items:
    if item["id"] == target_id:
        break
else:
    print("Item not found")
# Right: else runs only when the loop finishes without break
for item in items:
    if item["id"] == target_id:
        print("Item found")
        break
else:
    print("Item not found")

O bloco else só é executado quando o loop é concluído normalmente, portanto, um break o ignora.

for loop vs while: qual usar

Use for quando…Use while quando…
Você tem uma lista, intervalo, arquivo ou qualquer iterável para processar.Você está aguardando a alteração de uma condição (novas tentativas, sondagem, entrada do usuário).
O número de iterações é determinado pelos dados.O número de iterações é desconhecido antecipadamente.
Você deseja uma iteração limpa sobre os itens.Você precisa de controle manual sobre quando parar.

Regra prática: use for para trabalho “para cada item”, use while para trabalho “até esta condição”.

Considerações de desempenho

Um loop for é O(n) sobre os itens que você fornece. range() é preguiçoso, portanto, iterar grandes intervalos numéricos não aloca uma lista gigante na memória. Se você precisar apenas da primeira partida, interrompa antecipadamente ou use next/any com um gerador para causar curto-circuito na varredura e evitar trabalho desnecessário.

Mais Python para padrões de loop

Adicione rótulos de posição com enumerate.

tasks = ["ship order", "email customer", "update CRM"]
for index, task in enumerate(tasks, start=1):
    print(f"{index}. {task}")

Utilize enumerate quando precisar tanto do item quanto de sua posição, sem contadores manuais. Relacionado: [exemplo de enumeração do Python] (/pt/examples/python/python-enumerate-example).

Resuma valores de um dicionário com .items().

region_sales = {"west": 1200, "central": 950, "east": 1420}
for region, total in region_sales.items():
    print(f"{region}: ${total}")

O loop sobre .items() mantém chaves e valores juntos, o que é ideal para relatórios. Consulte o exemplo de ditado Python para pesquisas de chave/valor.

Quando usar um loop for em Python

  • Você precisa aplicar a mesma regra a cada pedido, usuário ou linha de arquivo.
  • Você deseja uma passagem clara e legível dos itens sem gerenciamento manual de índice.
  • Você precisa coletar resultados (totais, listas de problemas) à medida que itera.
  • Evite quando precisar apenas de um fósforo; curto-circuito com next, any ou all.