Declaração For e In

<< Clique para Mostrar o Sumário >>

 

Declaração For e In

A declaração for é utilizada para avaliar uma sequência de instruções repetidamente enquanto itera por algum conjunto definido logo após a declaração in. É possível interromper o laço a qualquer momento através de uma declaração break.

A sua utilização difere um pouco de linguagens como C/C++, onde são explicitamente declarados o início, o passo de iteração e o fim do laço. Em Python, a declaração for opera diretamente sobre os elementos de um conjunto definido na declaração in. Assim, para imprimir os valores de zero a cinco na saída padrão, deve-se antes criar uma lista com estes valores e iterar sobre esta lista. Isto pode ser realizado utilizando a função range, como no exemplo a seguir.

In [1]: for i in range(6):
  ....:  print(i)
  ....:
0
1
2
3
4
5

 

Suponha que se queira gerar uma lista com o quadrado dos valores do intervalo entre -100 e 100, com um passo regular de 10 unidades, resultando no gráfico com uma aparência parabólica conforme a imagem a seguir.

Gráfico da lista de valores

Gráfico da lista de valores

O código utilizado para implementar a lógica anterior (similar à implementação da declarações while) é o seguinte:

In [1]: x = range(-100, 100, 10)
In [2]: y = [i ** 2 for i in x]
In [3]: print((x[0:-1:5], y[0:-1:5]))
([-100, -50, 0, 50], [10000, 2500, 0, 2500])

 

A primeira linha usa a função range para criar uma lista de valores inteiros entre -100 e 100 com um intervalo regular de 10 unidades, atribuindo o resultado à variável x. A função range pode receber até três argumentos, o valor inicial, o valor final e o passo a ser utilizado para gerar a lista. Esta função costuma ser muito utilizada em conjunto com as declarações for e in justamente para auxiliar no controle das iterações.

A linha seguinte utiliza um dos muitos recursos do Python para a criação de uma lista com o resultado da avaliação dos elementos da variável x, elevando ao quadrado elemento a elemento. O resultado é atribuído à variável y.

A última linha imprime na tela apenas os pares (x, y) correspondentes aos elementos das posições inicial (0), final (-1) e todos os múltiplos de cinco (passo utilizado no fatiamento do vetor). Este é outro recurso muito utilizado para operar sobre sub-conjuntos específicos de dados de objetos que contém outros elementos, como no caso das listas.

 

NOTA

Vale ressaltar que o resultado impresso na tela do exemplo anterior corresponde a uma tupla cuja primeira posição contém alguns dos elementos da lista x ([primeiro, múltiplos de 5, último]), enquanto na segunda posição encontram-se alguns dos elementos correspondentes da lista y (quadrado dos valores correspondentes em x).

Esta página foi útil?