Como Usar o Loop For em Python com Exemplos

Tempo de leitura: 10 minutos
ícone de loop com o texto 'For' abaixo

O loop for em Python é uma das ferramentas mais importantes para quem está aprendendo a programar. Ele permite que você execute um bloco de código várias vezes de forma automatizada. Isso economiza tempo e torna seu código mais eficiente.

Neste guia completo, você vai aprender desde os conceitos básicos até técnicas avançadas. Vamos explorar exemplos práticos que você pode usar em seus próprios projetos. Prepare-se para dominar essa estrutura essencial da lógica de programação.

YouTube player

Vídeo do canal Hashtag Programação explicando loops for em Python de forma didática.

O Que É o Loop For em Python

O loop for é uma estrutura de repetição que percorre sequências de elementos. Essas sequências podem ser listas, tuplas, strings ou qualquer objeto iterável. A cada volta do loop, você tem acesso a um elemento diferente da sequência.

Diferente de outras linguagens, Python usa uma sintaxe simples e intuitiva. Você não precisa se preocupar com índices ou condições complexas. O for já faz todo esse trabalho automaticamente.

A estrutura básica é: for elemento in sequência. A palavra for indica o início do loop. O termo in conecta a variável temporária à sequência que será percorrida.

Essa simplicidade torna o Python uma excelente escolha para iniciantes. Você pode criar loops poderosos com apenas poucas linhas de código.

Sintaxe Básica do For

A sintaxe do for em Python segue um padrão bem definido. Primeiro, você escreve a palavra-chave for, seguida de uma variável temporária. Depois, usa in e especifica a sequência a ser percorrida.

Python
for variavel in sequencia:
    # código a ser executado

A indentação é fundamental em Python. Todo código dentro do loop deve estar recuado com quatro espaços ou uma tabulação. Isso indica que as instruções pertencem ao bloco do for.

Veja um exemplo prático com uma lista de números:

Python

numeros = [1, 2, 3, 4, 5]
for numero in numeros:
    print(numero)
Pronto para executar

Neste caso, a variável numero assume cada valor da lista em sequência. O programa imprime os números de 1 a 5, um por linha. É assim que você percorre coleções de dados.

Iterando Sobre Listas

Listas são uma das estruturas mais usadas com loops for. Você pode percorrer todos os elementos e realizar operações com cada um deles. Isso é útil para processar dados, fazer cálculos ou transformar informações.

Imagine que você tem uma lista de nomes e quer saudar cada pessoa:

Python

nomes = ["Ana", "Bruno", "Carla"]
for nome in nomes:
    print(f"Olá, {nome}!")
Pronto para executar

O resultado será uma saudação personalizada para cada nome. O f-string permite inserir a variável diretamente no texto. Isso torna o código mais legível e profissional.

Você também pode fazer operações matemáticas:

Python

precos = [10.50, 25.00, 8.75]
total = 0
for preco in precos:
    total += preco
print(f"Total: R$ {total:.2f}")
Pronto para executar

Este exemplo soma todos os preços da lista. A cada iteração, o valor atual é adicionado à variável total. No final, você tem a soma completa de todos os itens.

Usando For com Strings

Strings em Python são sequências de caracteres. Isso significa que você pode usar o for para percorrer cada letra individualmente. Essa técnica é muito útil para análise de texto.

Veja como contar vogais em uma palavra:

Python

palavra = "python"
vogais = 0
for letra in palavra:
    if letra in "aeiou":
        vogais += 1
print(f"Número de vogais: {vogais}")
Pronto para executar

O código verifica cada caractere da string. Quando encontra uma vogal, incrementa o contador. Esta é uma forma eficiente de processar texto caractere por caractere.

Você também pode transformar cada letra:

Python

texto = "python"
for char in texto:
    print(char.upper())
Pronto para executar

Este exemplo converte cada letra para maiúscula. O método upper() transforma o caractere e o print exibe o resultado. Assim você processa strings de forma granular.

Trabalhando com Range

A função range é frequentemente combinada com o for. Ela gera uma sequência de números automaticamente. Você define o início, o fim e o passo da sequência.

A sintaxe básica é range(inicio, fim, passo). O valor inicial é incluído, mas o final não. O passo define o intervalo entre os números gerados.

Python

for i in range(5):
    print(i)
Pronto para executar

Este código imprime os números de 0 a 4. Quando você usa apenas um argumento, o range começa em zero. É perfeito para repetir ações um número específico de vezes.

Você pode personalizar o intervalo:

Python

for numero in range(2, 10, 2):
    print(numero)
Pronto para executar

Aqui o loop imprime apenas números pares de 2 a 8. O terceiro parâmetro define que pulamos de 2 em 2. Isso é útil para criar padrões específicos de repetição.

Enumerate para Índice e Valor

Às vezes você precisa tanto do elemento quanto de sua posição na sequência. A função enumerate resolve esse problema de forma elegante. Ela retorna pares de índice e valor a cada iteração.

Python

frutas = ["maçã", "banana", "laranja"]
for indice, fruta in enumerate(frutas):
    print(f"{indice}: {fruta}")
Pronto para executar

O resultado mostra a posição de cada fruta na lista. O índice começa em zero por padrão. Você pode alterar esse comportamento passando um segundo argumento.

Para começar a contagem em 1:

Python

frutas = ["maçã", "banana", "laranja"]
for posicao, item in enumerate(frutas, 1):
    print(f"Item {posicao}: {item}")
Pronto para executar

Agora a numeração fica mais natural para humanos. Esta técnica é muito usada em menus, listas numeradas e relatórios. O enumerate torna seu código mais profissional e legível.

Iterando Sobre Dicionários

Dicionários armazenam pares de chave e valor. Você pode iterar sobre as chaves, os valores ou ambos ao mesmo tempo. Cada abordagem tem suas aplicações específicas.

Para percorrer apenas as chaves:

Python

idades = {"Ana": 25, "Bruno": 30, "Carla": 28}
for nome in idades:
    print(nome)
Pronto para executar

Quando você itera diretamente sobre um dicionário, obtém as chaves. Para acessar os valores correspondentes, use a sintaxe de colchetes.

Para obter chave e valor simultaneamente:

Python

idades = {"Ana": 25, "Bruno": 30, "Carla": 28}
for nome, idade in idades.items():
    print(f"{nome} tem {idade} anos")
Pronto para executar

O método items() retorna tuplas com pares chave-valor. Isso permite trabalhar com ambas as informações de forma prática. É a maneira mais comum de iterar sobre dicionários em Python.

Loops Aninhados

Você pode colocar um loop for dentro de outro. Isso cria loops aninhados, úteis para trabalhar com estruturas multidimensionais. Pense em tabelas, matrizes ou listas de listas.

Exemplo com uma matriz simples:

Python

matriz = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
for linha in matriz:
    for elemento in linha:
        print(elemento, end=" ")
    print()
Pronto para executar

O loop externo percorre cada linha da matriz. O loop interno percorre os elementos de cada linha. O parâmetro end=" " mantém os números na mesma linha.

Outro exemplo prático com combinações:

Python

cores = ["vermelho", "azul"]
tamanhos = ["P", "M", "G"]
for cor in cores:
    for tamanho in tamanhos:
        print(f"{cor} - {tamanho}")
Pronto para executar

Este código gera todas as combinações possíveis de cores e tamanhos. Loops aninhados são poderosos, mas use com cuidado. Muitos níveis podem deixar o código lento e difícil de entender.

Break e Continue no Loop For

As instruções break e continue controlam o fluxo do loop. O break interrompe completamente a execução. O continue pula para a próxima iteração imediatamente.

Exemplo com break:

Python

numeros = [1, 2, 3, 4, 5]
for num in numeros:
    if num == 3:
        break
    print(num)
Pronto para executar

O loop para quando encontra o número 3. Apenas 1 e 2 são impressos. O break é útil quando você encontra o que procura e não precisa continuar.

Exemplo com continue:

Python

for num in range(1, 6):
    if num == 3:
        continue
    print(num)
Pronto para executar

Aqui o número 3 é pulado, mas o loop continua. Os números 1, 2, 4 e 5 são impressos. Use continue quando quiser ignorar certos elementos sem parar o loop completamente.

List Comprehension com For

List comprehension é uma forma concisa de criar listas usando for. É uma sintaxe mais compacta e pythônica. Você pode transformar dados com apenas uma linha de código.

Sintaxe básica:

Python

quadrados = [x**2 for x in range(1, 6)]
print(quadrados)
Pronto para executar

Este código cria uma lista com os quadrados de 1 a 5. É equivalente a um loop tradicional, mas muito mais conciso. A expressão x**2 é aplicada a cada elemento.

Você pode adicionar condições:

Python

pares = [x for x in range(10) if x % 2 == 0]
print(pares)
Pronto para executar

Apenas números pares são incluídos na lista. A condição if filtra os elementos. List comprehension torna o código mais elegante e frequentemente mais rápido.

For com Tuplas

Tuplas são sequências imutáveis em Python. Você pode iterar sobre elas da mesma forma que faz com listas. A diferença está na impossibilidade de modificar os elementos durante a iteração.

Python

coordenadas = (10, 20, 30)
for valor in coordenadas:
    print(f"Valor: {valor}")
Pronto para executar

Cada elemento da tupla é acessado sequencialmente. Tuplas são úteis quando você tem dados que não devem ser alterados. Elas também são mais eficientes em termos de memória.

Você pode desempacotar tuplas no loop:

Python

pontos = [(1, 2), (3, 4), (5, 6)]
for x, y in pontos:
    print(f"X: {x}, Y: {y}")
Pronto para executar

Cada tupla é desempacotada em duas variáveis automaticamente. Isso facilita o trabalho com dados estruturados. É uma técnica muito comum em programação Python.

Aplicações Práticas do For

O loop for tem inúmeras aplicações no mundo real. Você pode usá-lo para automatizar tarefas repetitivas. Processar arquivos, analisar dados e criar relatórios são exemplos comuns.

Exemplo de processamento de arquivo:

Python

notas = [7.5, 8.0, 6.5, 9.0, 7.0]
aprovados = 0
for nota in notas:
    if nota >= 7.0:
        aprovados += 1
print(f"Alunos aprovados: {aprovados}")
Pronto para executar

O código conta quantos alunos foram aprovados. Cada nota é verificada individualmente. No final, você tem um relatório simples mas eficaz.

Outro exemplo útil é validação de dados:

Python

emails = ["[email protected]", "bruno", "[email protected]"]
for email in emails:
    if "@" in email and "." in email:
        print(f"{email} é válido")
    else:
        print(f"{email} é inválido")
Pronto para executar

Este script verifica se cada email tem os caracteres essenciais. É uma validação básica, mas demonstra como loops facilitam o processamento em lote.

Perguntas Frequentes (FAQ)

1. Qual a diferença entre for e while em Python?
O for percorre sequências conhecidas, enquanto o while repete enquanto uma condição for verdadeira.

2. Posso modificar uma lista enquanto itero sobre ela?
Não é recomendado. Crie uma nova lista ou use uma cópia para evitar comportamentos inesperados.

3. O que acontece se usar break em um loop aninhado?
O break interrompe apenas o loop mais interno onde ele está localizado.

4. Como percorrer uma lista de trás para frente?
Use reversed() ou fatiamento com [::-1] para inverter a ordem dos elementos.

5. Posso usar for sem uma variável?
Sim, use underscore (_) quando não precisar do valor: for _ in range(5).

6. Qual a diferença entre range e xrange?
Em Python 3, apenas range existe. Ele funciona como o antigo xrange do Python 2.

7. Como iterar sobre múltiplas listas ao mesmo tempo?
Use a função zip() para combinar listas e percorrê-las simultaneamente.

8. O for é mais rápido que while em Python?
Geralmente sim, para percorrer sequências. O for é otimizado para iteração.

9. Posso usar else com o loop for?
Sim, o bloco else executa quando o loop termina normalmente, sem break.

10. Como contar iterações em um loop for?
Use enumerate() ou mantenha uma variável contador que você incrementa a cada volta.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Ilustração minimalista do logotipo da linguagem de programação Python ao lado do texto REGEX em fundo neutro
    Fundamentos
    Foto do Leandro Hirt

    Regex Python: Tudo Sobre Expressões Regulares

    Se você já tentou encontrar padrões específicos em textos, validar formatos de email ou extrair informações de documentos, provavelmente já

    Ler mais

    Tempo de leitura: 12 minutos
    05/01/2026
    Logo do Python, texto TXT e ícone de bloco de notas representando arquivos de texto
    Fundamentos
    Foto do Leandro Hirt

    Como Ler Arquivos TXT no Python

    Trabalhar com arquivos de texto é uma das tarefas mais comuns na programação. Aprender como ler arquivo TXT no Python

    Ler mais

    Tempo de leitura: 14 minutos
    24/12/2025
    Comparação visual entre Python 2 e Python 3 com ícones minimalistas
    Fundamentos
    Foto do Leandro Hirt

    Python 2 vs Python 3: Principais Diferenças

    Se você está começando a estudar Python ou já trabalha com a linguagem, provavelmente já se deparou com uma dúvida

    Ler mais

    Tempo de leitura: 20 minutos
    22/12/2025
    Pessoa pensando com um monitor desfocado ao fundo
    Fundamentos
    Foto do Leandro Hirt

    Tipos de Dados em Python: int, float, str, list e dict

    Aprenda tudo sobre os principais tipos de dados em Python: int, float, str, list e dict. Guia completo com exemplos

    Ler mais

    Tempo de leitura: 14 minutos
    21/12/2025
    Pessoa usando tablet com caneta digital para planejar tarefas em checklist, representando organização, planejamento e produtividade digital.
    Fundamentos
    Foto do Leandro Hirt

    Como Ordenar Listas no Python (Sort vs Sorted)

    Você já ficou confuso sobre quando usar sort() ou sorted() para organizar suas listas em Python? Não está sozinho. Esses

    Ler mais

    Tempo de leitura: 12 minutos
    20/12/2025
    Logo do Python com uma faca, simbolizando fatiamento
    Fundamentos
    Foto do Leandro Hirt

    Fatiamento em Python: Tudo Sobre Slicing

    O fatiamento (ou slicing) é uma técnica fundamental em Python que permite extrair partes específicas de sequências como listas, strings

    Ler mais

    Tempo de leitura: 11 minutos
    13/12/2025