<< 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
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). |