Como usar o For Loop em Python

Como qualquer outra linguagem de programação, o loop em Python é uma ótima maneira de evitar a escrita de código repetitivo. No entanto, ao contrário de loop while do Python, o loop é uma demonstração dos fluxos de controle definitivo que lhe dá mais autoridade sobre cada item de uma série.

Se você é um iniciante em Python ou você já tem alguma experiência com isso, ter uma sólida compreensão de seu loop for é a chave para resolver os problemas de matriz-relacionado. Aqui, damos uma olhada em como o loop for do Python funciona e alguns exemplos de como você pode usá-lo para resolver desafios de codificação.

Como os loops For funcionam em Python

O loop for do Python funciona iterando através da sequência de um array. Em essência, é útil ao lidar com sequências como strings, listas, tuplas, dicionários ou conjuntos. Uma palavra-chave in geralmente segue um loop for em Python.

Um loop for tem características semelhantes em todas as linguagens de programação. Por exemplo, embora haja diferenças de sintaxe, a característica do loop for do Java é semelhante a como funciona o loop for do Python.

A sintaxe geral de um loop for Python é semelhante a esta:

 for new_variable in parent_variable:
execute some statements

Como afirmado anteriormente, ao contrário de um loop while, o laço for é mais poderoso, pois oferece mais controle em um fluxo.

Para entender melhor, um loop for normalmente se parece com esta declaração de exemplo: "para cada aluno do sexo masculino que você encontrar em uma classe, escreva um, caso contrário, escreva que é uma classe apenas para mulheres."

Essa declaração é uma instrução simples que lhe diz para continuar a escrever um para cada aluno que encontrar em uma classe específica. É um loop contínuo. No entanto, para iniciar o loop for nessa instância, você deve encontrar um aluno do sexo masculino. Caso contrário, anote a instrução else.

Se a declaração acima não tiver outra condição, você não escreveria nada. Isso significa que é um array vazio.

Como usar o For Loop do Python: exemplos práticos

Agora, vamos dar uma olhada em alguns exemplos práticos de como usar um loop for em Python.

O snippet de código abaixo gera cada um dos itens em uma lista:

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
print(i)

Você também pode modificar o código acima para gerar qualquer item que tenha a letra "a":

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
if "a" in i:
print(i)

Um loop for em Python também leva uma instrução else direta:

 b=[2, 3, 5, 6]
for i in b:
print(i)
else:
print("Loop has ended")

Você pode usar uma instrução break para alterar o fluxo de um loop for assim:

 b=[2, 3, 5, 6]
for i in b:
if i>3:
break
print(i)

Você também pode usar a palavra-chave continue com um loop for :

 b=[2, 3, 5, 6]
for i in b:
if i>3:
continue
print(i)

Usando um for Loop com literais de lista e string em Python

Agora, dê uma olhada no código abaixo para gerar todos os inteiros positivos entre 1 e 100. Para fazer isso, primeiro você cria uma lista de números entre 1 e 100 usando a função de intervalo integrada do Python:

 for x in range(1, 101):
print(x)

Você pode modificar esse bloco de código introduzindo uma instrução condicional para gerar todos os números ímpares entre 1 e 100 também:

 for x in range(1, 101):
if x%2==1:
print(x)

No entanto, você também pode criar uma tabuada de multiplicação "2 por saída" da saída do código acima. Para conseguir isso, você só precisa adicionar mais algumas instruções como esta:

 for x in range(1, 101):
if x%2==1:
print(x, "x", 2, "=", x * 2)

Agora que você viu como um loop for funciona com uma lista de inteiros. Vamos dar uma olhada em como podemos usar um loop for com strings.

O código a seguir retorna uma sequência de cada string em uma frase:

 a = "How to use a for loop in Python"
for i in a:
print(i)

Também podemos contar o número de strings (incluindo espaços) na variável a usando um loop for :

 a = ["How to use a for loop in Python"]
for i in a:
print(i.count(''))
Output: 32

No entanto, você também pode colocar um loop for em uma variável separada e obter um resultado semelhante reescrevendo o código acima assim:

 a=["How to use a for loop in Python"]
c=[b.count('') for b in a]
print(c)
Output: [32]

Nota: Para obter a contagem de caracteres, certifique-se de que não haja espaço entre as aspas entre parênteses após a palavra-chave count .

Você também pode modificar cada um dos dois últimos trechos de código acima para criar um contador de palavras simples usando um loop for . Tudo que você precisa fazer neste caso é inserir um único espaço entre cada aspa entre parênteses:

 a=["How to use a for loop in Python"]
for i in a:
print(i.count(' ') + 1)
Output: 8

Como fez para a contagem de caracteres, você também pode reescrever o código de contagem de palavras acima, colocando o loop for em uma variável como esta:

 a = ["How to use a for loop in Python"]
c=[b.count(' ') + 1 for b in a]
print(c)
Output: [8]

Preste muita atenção ao único espaço que está agora entre as aspas entre parênteses.

Relacionado: Como criar e reutilizar seu próprio módulo em Python

Usando um Python For Loop com um Array

Você também pode usar um loop for para obter um elemento específico de uma matriz.

Suponha que você tenha uma matriz de ovelhas com valores de "Sim" para animais "saudáveis" e "Não" para ovelhas "não saudáveis". Cada ovelha tem um nome exclusivo e você deseja colocar todas as enfermas em quarentena.

Você pode usar um loop for para produzir todas as ovelhas não saudáveis. Para ver uma como útil para o laço é, nesse caso, o código abaixo saídas nome de todas as ovelhas insalubre do array:

 array = [{"name":"Sheep1", "healthy":"Yes"},
{"name":"Sheep3", "healthy":"No"},
{"name":"Sheep4", "healthy":"Yes"},
{"name":"Sheep5", "healthy":"Yes"},
{"name":"Sheep8", "healthy":"No"},
{"name":"Sheep7", "healthy":"No"},
{"name":"Sheep9", "healthy":"No"}
]
for sheeps in array:
if sheeps["healthy"]=="No":
print("Quarantine", sheeps["name"])

Usando Nested For Loop em Python

A nested loop é útil quando você quer saída de cada elemento em uma matriz complexa ou aninhado. Ele funciona colocando um loop dentro de outro loop. O código de exemplo abaixo produz cada um dos itens da lista aninhada. No entanto, ele exibe apenas as chaves do dicionário:

 nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]
for dict in nested_list:
for i in dict:
print(i)

Um melhor entendimento da lista e dos arrays do Python é útil ao lidar com um loop for aninhado.

Para Loops ou While Loops, qual é melhor?

Dependendo do problema em questão, cada um dos loops for e while tem seu caso de uso em Python. Embora um loop for é mais comum, isso não faz dominar a while menos importante.

Enquanto um para ofertas de loop soluções mais gerais em toda a linguagens de programação, colocando-o acima do loop while é errônea. É sempre melhor considerar qualquer um deles para resolver problemas específicos, em vez de acreditar que um é mais útil do que o outro. Além disso, como um programador Python, você não pode viver sem nenhum deles.