Pular para o conteúdo principal

Tutorial sobre loops for em Python

Aprenda a usar loops “for” em Python pra iterar uma sequência ou as linhas e colunas de um DataFrame pandas.
Atualizado 8 de set. de 2025  · 5 min lido

Introdução

Como outras linguagens de programação, os loops for no Python são um pouco diferentes, no sentido de que funcionam mais como um iterador e menos como uma palavra-chave for. Em Python, não existe uma sintaxe como C for(i=0; i<n; i++), mas você usa for in n.

Eles podem ser usados para iterar sobre uma sequência de um list, string, tuple, set, array, data frame.

Dada uma lista de elementos, um loop for pode ser usado para iterar sobre cada item dessa lista e executá-lo.

Para iterar sobre uma série de itens, os loops “for” usam a função range. A função range retorna uma nova lista com números desse intervalo especificado com base no comprimento da sequência.

Ao iterar sobre uma sequência, você também pode usar o índice dos elementos na sequência para iterar, mas o segredo é primeiro calcular o comprimento da lista e, em seguida, iterar sobre a série dentro do intervalo desse comprimento.

Os loops for em Python são indexados a partir de zero.

Vamos direto para a parte da implementação.

Você também pode assistir a este vídeo para um tutorial rápido!

Comece a aprender Python de graça

Intermediate Python

BeginnerSkill Level
4 h
1.3M learners
Level up your data science skills by creating visualizations using Matplotlib and manipulating DataFrames with pandas.
See DetailsRight Arrow

Implementando loops

Pra começar, vamos imprimir números de 1 a 10. Como os loops for em Python são indexados a partir de zero, você vai precisar adicionar um em cada iteração; caso contrário, ele vai mostrar valores de 0 a 9.

for i in range(10):
    print (i+1)

# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10

Vamos iterar sobre uma string de uma palavra Datacamp usando o loop for e imprimir apenas as letras a.

for i in "Datacamp":
    if i == 'a':
        print (i)

# a
# a
# a

Digamos que você queira definir uma lista de elementos e iterar sobre esses elementos um por um.

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in sequence:
    print (i)

# 1
# 2
# 8
# 100
# 200
# datacamp
# tutorial

Mas e se você quiser descobrir o tamanho da lista e depois percorrê-la? Você vai usar a função embutida len para isso e, em seguida, na saída de comprimento, vai aplicar range.

Lembre-se de que o método range sempre espera um valor inteiro.

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in range(len(sequence)):
    print (sequence[i])

# 1
# 2
# 8
# 100
# 200
# datacamp
# tutorial

Ótimo! Mas por que você precisa usar a função len quando pode usar diretamente for i in numbers? A resposta é simples. E se você quiser modificar ou trabalhar com os índices da sequência, como alterar o elemento de uma lista já existente, vai precisar de um range(len(sequence)).

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in range(len(sequence)):
    element = sequence[i]
    if type(element) == int:
        sequence[i] = element + 4

print(sequence)

# [5, 6, 12, 104, 204, 'datacamp', 'tutorial']

Legal, né? Você conseguiu modificar os elementos da lista com base na condição if.

Agora vamos ver como você pode imprimir números ímpares entre 1 e 20. Para fazer isso, você vai ter que definir três coisas na função range. O ponto inicial, o ponto final e o valor do incremento (ou passos) em que o loop vai aumentar os números de 1 a 20.

for i in range(1,20,2):
    print (i)

# 1
# 3
# 5
# 7
# 9
# 11
# 13
# 15
# 17
# 19

Loop for aninhado

for i in range(11):
    for j in range(i):
        print (i, end=' ')
    print()

# 1 
# 2 2 
# 3 3 3 
# 4 4 4 4 
# 5 5 5 5 5 
# 6 6 6 6 6 6 
# 7 7 7 7 7 7 7 
# 8 8 8 8 8 8 8 8 
# 9 9 9 9 9 9 9 9 9 
# 10 10 10 10 10 10 10 10 10 10 

Loop for para iterar sobre linhas e colunas de um DataFrame

import pandas as pd

iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')

iris.head()
  sepal_length largura da sépala petal_length petal_width espécie
0 5.1 3,5 1.4 0,2 setosa
1 4,9 3,0 1.4 0,2 setosa
2 4,7 3.2 1.3 0,2 setosa
3 4,6 3.1 1,5 0,2 setosa
4 5,0 3,6 1.4 0,2 setosa
len(iris)

# 150
for i in range(len(iris)):
    Class = iris.iloc[i,4]
    if Class == 'versicolor' and i < 70:
        print (Class)

# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor

Depois, vamos adicionar dois a cada linha das colunas sepal_length,sepal_width, petal_length e petal_width.

columns = ['sepal_length','sepal_width','petal_length','petal_width']

for indices, row in iris.iterrows():
    for column in columns:
        iris.at[indices,column] = row[column] + 2

iris.head()
  sepal_length largura da sépala petal_length petal_width espécie
0 7.1 5,5 3,4 2.2 setosa
1 6,9 5,0 3,4 2.2 setosa
2 6,7 5.2 3.3 2.2 setosa
3 6,6 5.1 3,5 2.2 setosa
4 7,0 5,6 3,4 2.2 setosa

Iterando sobre uma sequência com a função Lambda

A função lambda do Python é rápida e poderosa em comparação com o loop básico for. É muito usado, principalmente quando se trata de DataFrame. Você pode processar seus dados com a ajuda da função Lambda usando bem pouca programação. Mas, às vezes, fica difícil entender isso.

x = [20, 30, 40, 50, 60]
y = []

for v in x :
    y += [v * 5]

print(y)

# [100, 150, 200, 250, 300]

Agora, vamos tentar isso com uma função lambda e map.

Map pega uma função, tipo, uma função lambda e uma sequência x e depois devolve uma nova sequência.

x = [20, 30, 40, 50, 60]
y = map(lambda x: x * 5,x)

print(y)

# <map object at 0x4063cc8>

Ele retorna uma função geradora e, para obter a saída do gerador, você passa a saída como um argumento para list.

x = [20, 30, 40, 50, 60]
y = map(lambda x: x * 5,x)

print(list(y))

# [100, 150, 200, 250, 300]

Agora, vamos dar um passo atrás e analisar tanto o loop for quanto a combinação lambda/map(). Você vai perceber que a diferença entre os dois é adicionar map, lambda e tirar “for” e “in”. E ainda por cima, você conseguiu codificar isso em uma única linha.

Conclusão

Parabéns por terminar este tutorial básico sobre o loop for em Python.

Os loops For são a espinha dorsal de todas as linguagens de programação e, quando se trata do Python, usar loops For não é nada difícil de codificar, e eles são parecidos com escrever uma frase em inglês.

Se você quiser saber mais sobre loops for em Python, faça o curso Python Data Science Toolbox (Parte 2) da DataCamp.

Fique à vontade para fazer qualquer pergunta relacionada a este tutorial na seção de comentários abaixo.

Tópicos

Cursos de Python

Curso

Introdução ao Python

4 h
6.6M
Domine os fundamentos da análise de dados com Python em quatro horas e explore pacotes populares.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial sobre loops em Python

Um tutorial introdutório completo sobre loops em Python. Aprenda e pratique loops while e for, loops aninhados, as palavras-chave break e continue, a função range e muito mais!
Satyabrata Pal's photo

Satyabrata Pal

Tutorial

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
DataCamp Team's photo

DataCamp Team

data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

Tutorial

Tutorial de junção de DataFrames no pandas

Neste tutorial, você aprenderá várias maneiras pelas quais vários DataFrames podem ser mesclados em python usando a biblioteca Pandas.
DataCamp Team's photo

DataCamp Team

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

Tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

Ver maisVer mais