Pular para o conteúdo principal

Tutorial do For Loops em Python

Saiba como implementar For Loops em Python para iterar uma sequência ou as linhas e colunas de um dataframe do pandas.
24 de abr. de 2024  · 5 min de leitura

Introdução

Como em outras linguagens de programação, os loops for em 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 há C como a sintaxe for(i=0; i, mas você usa for in n.

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

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

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

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

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

Vamos passar rapidamente para a parte da implementação.

Comece a aprender Python de graça

Intermediate Python

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

Implementação de loops

Para começar, vamos imprimir números que variam de 1 a 10. Como os loops for no Python são indexados a zero, você precisará adicionar um em cada iteração; caso contrário, ele produzirá 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 em uma string de uma palavra Datacamp usando o loop for e imprimir somente a letra 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 a 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 comprimento da lista e depois iterar sobre ela? Você usará a função integrada len para isso e, na saída do comprimento, aplicará range.

Lembre-se de que o site range sempre espera um valor inteiro.

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

Excelente! 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 existente, então você precisará de range(len(sequence)).

for i in range(len(sequence)):
    element = sequence[i]
    if type(element) == int:
        sequence[i] = element + 4
sequence
[5, 6, 12, 104, 204, 'datacamp', 'tutorial']

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

Vejamos agora como você pode imprimir números ímpares entre 1 e 20. Para isso, você terá que definir três coisas na função range. O ponto inicial, o ponto final e o valor de incremento (ou etapas) em que o loop será incrementado nos 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 sepal_width petal_length petal_width espécies
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

Em seguida, 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 sepal_width petal_length petal_width espécies
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

Iteração em uma sequência com a função Lambda

A função lambda do Python é rápida e poderosa em comparação com o loop for básico. É amplamente utilizado, especialmente ao lidar com Dataframes. Você pode processar seus dados com a ajuda da função Lambda com muito pouco código. No entanto, às vezes é difícil entendê-la.

x = [20, 30, 40, 50, 60]
y = []
for v in x :
    y += [v * 5]
y
[100, 150, 200, 250, 300]

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

Map recebe uma função, por exemplo, uma função lambda e uma sequência x e, em seguida, retorna uma nova sequência.

y = map(lambda x: x * 5,x)
y
<map at 0x11be7cc88>

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

list(y)
[100, 150, 200, 250, 300]

Agora, vamos dar um passo atrás e analisar a maneira do loop for e a combinação lambda/map(). Você perceberá que a diferença entre os dois é a adição de map, lambda e a remoção de "for" e "in". Além disso, em uma linha, você conseguiu codificá-lo.

Conclusão

Parabéns por ter concluído este tutorial básico de loop For em Python.

Os loops For são a espinha dorsal de todas as linguagens de programação e, quando se trata de Python, o uso de loops For não é nada difícil de codificar, e seu espírito é semelhante ao de escrever uma frase em inglês.

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

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

Temas

Cursos de Python

curso

Introduction to Python

4 hr
5.9M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver DetalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

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

7 min

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

20 min

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

15 min

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

19 min

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

14 min

tutorial

Tutorial de iteradores e geradores Python

Explore a diferença entre Iteradores e Geradores do Python e saiba quais são os melhores para usar em várias situações.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

See MoreSee More