Programa
No campo da programação em Python, dominar os loops é fundamental. Este tutorial esclarece o loop Python for i in range, uma construção fundamental em Python que simplifica tarefas repetitivas. Embarcaremos em uma jornada para entender sua sintaxe, versatilidade e aplicações práticas.
A essência do for Loops em Python
Um loop for em Python é uma estrutura de controle usada para iterar sobre uma sequência (como uma lista, uma tupla, um dicionário ou uma string). A beleza do loop for do Python está em sua capacidade de iterar diretamente sobre os itens de uma sequência de forma clara e concisa.
Sintaxe do for Loop
for item in sequence:
# perform actions
Aqui, o item representa cada elemento da sequência, e o loop executa o bloco de código para cada elemento.
Investigando a função range() do Python
A função range() do Python é essencial para gerar uma sequência de números, oferecendo maior controle e flexibilidade em loops.
A flexibilidade de range()
Uso de um único argumento
- Gera números de 0 a n-1.
- Exemplo: range(5) produz 0, 1, 2, 3, 4.
Uso de argumento duplo
- Especifica o início e o fim da sequência.
- Exemplo: range(10, 15) resulta em 10, 11, 12, 13, 14.
Uso do argumento triplo
- Adiciona a capacidade de especificar a etapa de incrementação.
- Exemplo: range(1, 20, 2) produz 1, 3, 5, ..., 19.
Aplicações práticas e exemplos
Looping sobre coleções
1. Cordas: Iterar sobre cada caractere.
for char in "Hello":
print(char)
H
e
l
l
o
Esse loop itera sobre cada caractere da string "Hello". O loop for atribui cada caractere ('H', 'e', 'l', 'l', 'o') à variável char e o imprime. Portanto, a saída será cada caractere de "Hello" em uma nova linha.
2. Listas: Percorrer os itens da lista.
for num in [1, 2, 3]:
print(num)
1
2
3
Aqui, o loop percorre a lista [1, 2, 3]. Em cada iteração, num assume o valor do próximo elemento da lista, começando com 1, depois 2 e, finalmente, 3. Cada número é impresso, resultando nos números 1, 2 e 3, cada um aparecendo em uma nova linha.
3. Dicionários: Chaves e valores de acesso.
for key, value in {'a': 1, 'b': 2}.items():
print(key, value)
a 1
b 2
Esse loop itera sobre um dicionário que contém dois pares de valores-chave ('a': 1 e "b": 2). O método .items() retorna um objeto de visualização que exibe uma lista de pares de tuplas de valores-chave de um dicionário. Em cada iteração, a chave e o valor são atribuídos à chave e ao valor do próximo item do dicionário, que são impressos.
Mecanismos de controle de loop
1. A declaração break: Termina o loop prematuramente.
for i in range(10):
if i == 5:
break
Esse código itera de 0 a 9 (conforme gerado por range(10)). Quando o valor de i chega a 5, a condição da instrução if é atendida, acionando a instrução break. Isso interrompe o loop, mesmo que ele não tenha iterado todos os valores até 9.
2. A declaração continue: Pula a iteração atual.
for i in range(10):
if i % 2 == 0:
continue
print(i)
1
3
5
7
9
Esse loop também itera de 0 a 9. No entanto, a instrução if verifica se i é um número par (isso é o que i % 2 == 0 faz - verifica se o resto quando i é dividido por 2 é 0). Se for par, a instrução continue é executada, o que pula o restante do corpo do loop para essa iteração. Portanto, somente os números ímpares são impressos
Técnicas avançadas usando for Loops
1. Loops aninhados
Esse é um exemplo de loops aninhados, em que um loop está dentro de outro. O loop externo (for i in range(3)) itera pelos números 0, 1 e 2. Para cada iteração do loop externo, o loop interno (for j in range(3)) também itera pelos números 0, 1 e 2. A instrução print(i, j) é executada para cada combinação de i e j.
for i in range(3):
for j in range(3):
print(i, j)
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
O resultado será uma série de pares que representam todas as combinações de i e j no intervalo de 0 a 2.
2. Looping com Enumerate
A função enumerate adiciona um contador a um iterável e o retorna na forma de um objeto enumerate. Esse objeto pode ser usado diretamente em for loops. Neste exemplo, o loop for é usado com enumerate em uma lista ['a', 'b', 'c'].
for index, value in enumerate(['a', 'b', 'c']):
print(index, value)
0 a
1 b
2 c
A função enumerate adiciona um índice a cada item da lista, começando em 0 por padrão. Em seguida, o loop itera sobre esse objeto enumerado, desempacotando cada item em índice e valor. O índice é o índice de cada item, e o valor é o item correspondente da lista. Portanto, a saída será uma série de linhas com o índice e o valor.
Esses exemplos ilustram como os loops aninhados podem ser usados para executar iterações complexas e como o enumerate pode ser usado para rastrear facilmente o índice de itens em um loop.
Como for Os loops são usados na ciência de dados
O loop for é um conceito crucial na programação Python e na análise de dados. Ele tem uma ampla gama de aplicações, como a iteração sobre listas e matrizes, o que simplifica as tarefas de manipulação de dados. Eu uso com frequência os loops for, especialmente os loops aninhados, para gerenciar com eficiência estruturas de dados multidimensionais, uma etapa essencial na criação de algoritmos de aprendizado de máquina. Além disso, os cientistas de dados geralmente combinam os loops for com a lógica condicional para o processamento de dados complexos, como a agregação de dados, por exemplo, o cálculo da média de uma lista de números.
No entanto, os loops for podem não ser a melhor opção quando você trabalha com grandes conjuntos de dados e algoritmos de aprendizagem profunda. É por isso que temos bibliotecas como NumPy, pandas e PyTorch, que são otimizadas para operações vetorizadas, tornando-as mais eficientes para a manipulação de dados em grande escala.
Conclusão: Adotando a eficiência de loop
Em conclusão, o loop for do Python é uma ferramenta indispensável para os programadores. Sua simplicidade, aliada ao poder da função range(), torna-a ideal para uma variedade de tarefas iterativas em ciência de dados e programação geral. À medida que você praticar e aplicar esses conceitos, verá que seu código Python se tornará mais eficiente e expressivo.
Você pode ler mais sobre While Loops em nosso tutorial completo e explorar esse e outros conceitos em nosso curso Python Intermediário.

Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.