terça-feira, 26 de agosto de 2014

Python - For Loop

Python - For Loop


    For loop é um laço de repetição em que um trecho de código é repetido determinadas vezes, geralmente é usado quando precisamos que um código seja executado n vezes, por exemplo digamos que nós temos uma lista list = [1,2,3,4] e queremos multiplicar cada valor desta lista por 2 quantas vezes precisamos repetir o código que faz esta multiplicação? Se observarmos a lista possui 4 elementos, ou seja,  precisamos repetir 4 vezes, vejamos.



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#Criamos uma lista
list = [1,6,3,4]

#percorremos toda a lista
for numero in list:    
    #em cada iteração(repetição) a variavel numero vai ser um elemento da lista
    #na primeira iteração vai multiplicar o primeiro elemento da lista no caso 1
    #na segunda iteração vai multiplicar o segundo elemento no caso 6 ....
    #imprime o resultado na tela

     resultado = numero*2
     print(resultado)

    O resultado será: 

   2   12   6   8

    Como vimos no código acima criamos uma lista chamada list e atribuímos a ela os valores 1, 2, 3 e 4 depois criamos um for que vai percorrer cada elemento da lista e cada vez que a lista for percorrida vamos multiplicar o elemento da vez por 2 e adicionamos o resultado da multiplicação à variável resultado e em seguida  imprimimos a variável resultado na tela.
    A estrutura do laço de repetição for é a seguinte:

 Primeiro vem a palavra reservada for depois vem a variável que vai receber o valor de cada elemento da lista em cada iteração, depois vem a palavra reservada in, depois vem a lista, tudo que estiver dentro do for será repetido várias vezes dependendo do tamanho da lista.


For Aninhado

    Um for aninhado é quando temos um for dentro de outro for, digamos que temos duas listas uma com os números 1,2,3 e outra com os números 4,5,6 e queremos multiplicar cada valor da lista1 por todos os valores da lista2 então usaremos um for aninhado, veja abaixo.



#criamos a lista1
lista1 = [1,2,3]
#criamos a lista2
lista2 = [4,5,6]

#criamos o primeiro for
for l1 in lista1:
    #para cada elemento de lista1
    #cria um for, ou seja, quando l1 for 1
    #será criado um outro for que vai percorrer todos os elementos
    #de lista2 e multiplica-los por 1, e assim sucessivamente.
    for l2 in lista2:
        #aqui imprimimos na tela toda vez que for feita a multiplicação
        print(l1*l2)

    No exemplo acima criamos duas listas depois percorremos cada elemento da lista1 e em cada iteração é criado um novo for que percorre toda lista2 e multiplica os elementos da lista1 por todos os elementos da lista2.

    O resultado será:

    4    5    6    8    10    12    12    15    18    

    Python nos permite executar o mesmo código em uma unica linha veja abaixo:


#criamos a lista1
lista1 = [1,2,3]
#criamos a lista2
lista2 = [4,5,6]


[print (x*y) for x in lista1 for y in lista2]

O resultado será:

    4    5    6    8    10    12    12    15    18