Python for loop [com exemplos simples]

O loop for em Python é uma função de iteração. Se você tiver um objeto de sequência como uma lista, pode usar o loop for para iterar sobre os itens contidos na lista.

A funcionalidade do loop for não é muito diferente do que você vê em várias outras linguagens de programação.

Neste artigo, exploraremos o loop for em Python em detalhes e aprenderemos a iterar sobre diferentes sequências, incluindo listas, tuplas e muito mais. Além disso, aprenderemos a controlar o fluxo do loop usando as instruções break e continue.

Sintaxe básica do loop for em Python

A sintaxe básica do loop for em Python se parece com algo semelhante ao mencionado abaixo.

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

Deixe-me explicar melhor a sintaxe do loop for em Python.

  • A primeira palavra da instrução começa com a palavra-chave “for”, que indica o início do loop for.
  • Em seguida, temos a variável iteradora, que itera sobre a sequência e pode ser usada dentro do loop para realizar várias funções
  • O próximo é a palavra-chave “in” em Python, que indica à variável iteradora para iterar sobre elementos dentro da sequência.
  • E finalmente, temos a variável de sequência que pode ser uma lista, uma tupla, ou qualquer outro tipo de iterador.
  • A parte das declarações do loop é onde você pode brincar com a variável do iterador e realizar várias funções

1. Imprimir letras individuais de uma string usando o loop for

String em Python é uma sequência de caracteres. Se em qualquer uma de suas aplicações de programação, você precisar passar pelos caracteres de uma string individualmente, você pode usar o loop for aqui.

Aqui está como isso funcionaria para você.

word="anaconda"
for letter in word:
	print (letter)

Output:

a
n
a
c
o
n
d
a

O motivo pelo qual este loop funciona é porque o Python considera uma “string” como uma sequência de caracteres em vez de olhar para a string como um todo.

2. Usando o loop for para iterar sobre uma lista ou tupla em Python

Listas e Tuplas são objetos iteráveis. Vamos ver como podemos iterar sobre os elementos dentro desses objetos agora.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

Saída:

Apple
Banana
Car
Dolphin

Agora, vamos avançar e trabalhar na iteração sobre os elementos de uma tupla aqui.

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# Saída
# A soma dos números é 10

3. Aninhando laços for em Python

Quando temos um laço for dentro de outro laço for, isso é chamado de laço for aninhado. Existem múltiplas aplicações de um laço for aninhado.

Considere o exemplo da lista acima. O laço for imprime palavras individuais da lista. Mas e se quisermos imprimir os caracteres individuais de cada uma das palavras dentro da lista?

Aqui é onde um laço for aninhado funciona melhor. O primeiro laço (laço pai) passará pelas palavras uma a uma. O segundo laço (laço filho) passará pelos caracteres de cada uma das palavras.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        # Este laço está pegando palavra da lista
        print ("The following lines will print each letters of "+word)
        for letter in word:
                # Este laço está pegando letra para a palavra
                print (letter)
        print("") # Esta impressão é usada para imprimir uma linha em branco

Saída

4. Loop for em Python com a função range()

O range() do Python é uma das funções integradas. Quando você deseja que o loop for seja executado por um número específico de vezes, ou precisa especificar um intervalo de objetos para imprimir, a função range funciona muito bem. Considere o seguinte exemplo onde desejo imprimir os números 1, 2 e 3.

for x in range(3):
    print("Printing:", x)
	
# Saída

# Imprimindo: 0
# Imprimindo: 1
# Imprimindo: 2

A função range também aceita outro parâmetro além do início e do fim. Este é o parâmetro de passo. Ele indica à função range quantos números pular entre cada contagem.

No exemplo abaixo, usei o número 3 como passo e você pode ver que os números de saída são o número anterior + 3.

for n in range(1, 10, 3):
    print("Printing with step:", n)
	
# Saída

# Imprimindo com passo: 1
# Imprimindo com passo: 4
# Imprimindo com passo: 7

5. instrução break com loop for

A instrução break é usada para sair prematuramente do loop for. É usada para interromper o loop for quando uma condição específica é atendida.

Vamos dizer que temos uma lista de números e queremos verificar se um número está presente ou não. Podemos iterar sobre a lista de números e, se o número for encontrado, sair do loop porque não precisamos continuar iterando sobre os elementos restantes.

Neste caso, vamos usar a condição if else do Python junto com nosso loop for.

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# Saída
# A lista contém 2: Verdadeiro

6. A instrução continue com loop for

Podemos usar instruções continue dentro de um loop for para pular a execução do corpo do loop for para uma condição específica.

Vamos dizer que temos uma lista de números e queremos imprimir a soma dos números positivos. Podemos usar as instruções continue para pular o loop for para números negativos.

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. Python for loop with an else block

Podemos usar o bloco else com um loop for em Python. O bloco else é executado apenas quando o loop for não é terminado por uma instrução break.

Vamos supor que temos uma função para imprimir a soma dos números somente se todos os números forem pares.

Podemos usar a instrução break para encerrar o loop for se um número ímpar estiver presente. Podemos imprimir a soma na parte else para que seja impressa apenas quando o loop for executado normalmente.

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# isso imprimirá a soma
print_sum_even_nums([2, 4, 6, 8])

# isso não imprimirá a soma devido a um número ímpar na sequência
print_sum_even_nums([2, 4, 5, 8])

# Saída

# Loop for executado normalmente
# Soma dos números 20

Conclusão

O loop for em Python é muito semelhante a outras linguagens de programação. Podemos usar as instruções break e continue com o loop for para alterar a execução. No entanto, em Python, também podemos ter um bloco else opcional no loop for.

I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.

Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example