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