Então, dado que nós já aprendemos como definir Python listas, uma coleção de objetos, agora vai ser bem útil a gente aprender uma forma de percorrer os elementos dessa lista e fazer alguma computação com ele, e jeito de se fazer isso, jeito fácil de fazer isso, é com o comando for que existe na linguagem pra Python. É comando for que existe nas principais linguagens de programação, ele, qual é o formato dele? O formato dele é assim tem a palavra for e daí você tem o nome de uma variável que vai representar cada elemento dessa lista, então eu tô chamando aqui nesse exemplo de item e daí tem a palavra reservada in e daí o nome da sua lista aqui e daí dois pontos. Então for item in lista, então pra cada item nessa sua lista daí você coloca aqui tab e determinado comando que você quer que seja executado pra cada item dessa lista e normalmente esse comando aqui vai usar essa variável item aqui, dentro do comando pra fazer alguma computação, algum cálculo às vezes pra alterar a própria lista. Então vamos ver alguns exemplos concretos aqui de como a gente pode fazer isso. Vamos supor que eu tenho uma lista chamada frutas exóticas e nessa lista vai ser uma lista de strings, então eu vou ter nela uma jabuticaba, depois eu vou ter cupuaçu e finalmente eu vou ter graviola. São 3 frutas que gosto bastante, então na minha lista frutas exóticas, eu tenho três strings e daí eu quero percorrer essa lista fazendo alguma coisa com os strings. Como eu posso fazer isso? Eu faço for fruta, fruta é nome de uma variável, nome qualquer que eu escolho, in daí o nome da lista frutas exóticas daí dois pontos. O que eu vou fazer? Daí simplesmente eu vou imprimir. O que eu vou imprimir? Vou imprimir eu adoro e mais o nome da fruta. Daí o que que aconteceu aqui? Ele percorreu todos os elementos de frutas exóticas e então ele executou essa linha print três vezes, então quando na posição zero, eu tinha jabuticaba, daí a variável fruta assumiu o valor jabuticaba, então ele fez print eu adoro mais fruta e o valor de fruta era jabuticaba, ele imprimiu eu adoro jabuticaba. Na próxima vez, na próxima interação desse comando for, o fruta assumiu o valor cupuaçu, e daí ele fez print eu adoro mais fruta, fruta valia cupuaçu, ele imprimiu eu adoro cupuaçu. Daí na terceira interação, na última interação, no elemento 2, de índice 2 na minha lista aqui ele colocou o valor graviola na fruta e daí imprimiu eu adoro graviola. Então o número de vezes que o for é executado, o número de interações é sempre o número de elementos que eu tenho aqui na minha lista. Vamos ver outro exemplo, deixa eu pegar aquele meu gerador de números primos e eu vou pedir pra imprimir os números primos abaixo de 50, por exemplo. 50, pronto, esses aqui são os números primos até 50 e agora eu vou ter uma lista aqui desses números primos. Quantos números primos eu tenho aqui? Eu tenho 15 números primos até 50, daí eu posso fazer alguma coisa do tipo vamos supor que eu quero os quadrados, saber os quadrados dos números primos. Aí eu posso fazer algo desse tipo, for x primos. Então pra cada número primo que tá lá, então se x vai ser uma variável que vai assumindo cada dos dos 15 valores primos diferentes, eu quero que você me imprima x ao quadrado, vai ser x vezes x pronto, ele imprimiu aqui, então ele percorreu todos os elementos do 0 ao 14, os 15 elementos do 0 ao 14 sempre imprimindo aqui os quadrados dos números primos. A gente vê que o comando for é bem útil pra manipular valores listas. Vamos aprender outro conceito aqui que também nos facilita percorrer as listas, que é a função range. Essa função range, que é uma função que vem no Python, se a gente dá range e dá número qualquer, range significa intervalo, com limites de valores ali com determinado começo e fim. Se eu faço range 20, vamos ver aqui então digitar range 20, ele cria objeto que é como se fosse intervalo que começa no zero e o final dele é o 20. Ele vai até o número 20 e daí a gente pode usar esse conceito aí de range num comando for, então eu posso fazer algo do tipo for i in range de 20, aqui eu coloco seria o final ali, então tipicamente isso aqui vai ser o tamanho da minha lista, fim, dois pontos, e daqui aí eu coloco comando que eu quero que seja executado todos os elementos da minha lista, particular, aqui eu poderia ter algo do tipo len lista, também. Tipicamente ele vai ser o fim da lista, então essa é uma alternativa. Fazendo dessa forma, ele vai começar do 0, então o primeiro valor que o i vai receber vai ser zero. Pode ser que eu não quero começar do zero, eu quero começar de outro elemento, daí eu uso essa outra forma, for i in range e daí eu passo comparando o início e o fim. É uma outra forma do mesmo comando onde eu posso dizer nesse caso o início vai ser algo tipicamente algo diferente de 0, então eu posso por exemplo, da posição 5 até a posição 10 do vetor eu quero que você faça alguma coisa. E uma última possibilidade, último formato, seria esse aqui for i in range eu coloco o início e o fim determinado passo, onde o passo de quanto quanto que eu quero que ele coloque os valores no in. Então pode ser, eu quero de 2 2 pra pegar só os numeros pares, por exemplo pra ir de 0 a 10 de 2 2 pegando só os números pares, ou eu posso ir de 0 a 1 milhão de 15 15, então esse passo vai dizer de quanto quanto que quero ir. Então vamos ver alguns exemplos, eu poderia então fazer for i range. Vamos começar com exemplos mais simples, range de 20, esqueci dos dois pontos de novo for i in range de 20 dois pontos print, e daí o que ele faz? Se eu faço range de 20, ele imprime 20 números começando do 0, então ele vai do zero até o 19, então note que esse é detalhe importante, ele não chega até o 20, quando chega no 20, ele para e ele não executa o comando print aqui. Mas ele executou 20 vezes, porque de 0 a 19 são 20 vezes. Então essa é uma possibilidade, outra possibilidade seria for i in range 10, 20 O que houve aqui? For i faltou o in range 10, 20 print i. Então nesse caso ele começa do 10 e termina número menor que 20. Então ele imprimiu dez números. Não, espera. Vamos ver 1, 2, 3 4, 5, 6, 7, 8, 9, 10, tá certo, imprimiu 10 números. Então, mas começando com 10 e terminando maior que 20. Agora último exemplo seria usando o passo também, então for i in range 0, 100 com passo 3 print i. Ele vai de zero, de três três, então na verdade aqui ele tá imprimindo todos os múltiplos de três entre 0 e 100. Terminou aqui 99. Então a gente vai ter essas diferentes formas de Eu posso também guardar, esses ranges, esses limites esses intervalos, numa variável. Então, pode fazer algo do tipo pares recebe range de 0, 40, 2. Então, seria uma forma de representar os números pares entre 0 e 40. Daí eu posso fazer for i in pares print i. Então aqui ele imprime todos os números pares entre zero e menores que 40. Tem outro tipo de passo que a gente pode fazer que é passo negativo. Então, eu posso fazer algo do tipo: números recebe range. Começo no 100, o início vai ser o 100, o final vai ser o 0 e o passo vai ser menos 5. Se eu fizer isso, e daí fizer for x in números print x, ele vai começar lá do 100 e descendo porque o passo é menos 5 e vai até o final, até o zero. De novo, ele não chega no zero. Quando chega no zero ele não executa o comando print. É a última vez que ele faz o teste aqui no zero, mas ele não chega a executar o comando. Então, ele vai do 100 até o cinco, de cinco cinco, mas cinco negativo porque a gente já tinha passo negativo. Uma outra coisa que a gente pode usar o comando for para fazer, é alterar valores que estão uma determinada lista. Então, vamos supor que eu tenho uma lista aqui chamada primos, já tenho os números primos aqui. Vamos supor que eu quero agora elevar ao cubo esses números primos, eu posso fazer algo desse tipo aqui: for i in range len de primos. Então, para aquele intervalo de números que corresponde ao comprimento ali dos números primos, então vai ser desde o primeiro até o último elemento dessa lista de primos. Eu quero que você faça o seguinte. Eu quero nessa minha variável, nessa minha lista de números primos, eu vou mudar o valor que tem lá. Então vez de guardar o primo, eu quero guardar o cubo. Então, o cubo. Então, eu faço primos de i, ou seja, o que está na i-ésima posição dessa lista primos. Que que você faz com ela? Você calcula o cubo desse primos de i e o resultado você guarda cima dessa minha lista primos de i. Então, executando isso, ele não imprimiu nada, mas ele alterou o valor da lista primos. Se você olhar a lista de primos agora, a gente tem os cubos dos primos, não tem mais os primos. O nome dela agora, o nome primos não está mais muito fiel ao conteúdo, porque agora na verdade ela contém os cubos dos primos. Então a gente poderia guardar uma outra lista. Cubos dos primos, recebe o que está nessa lista. Então agora eu fico mais feliz, porque agora sim o nome tem a ver com o que está sendo guardado ali. Então o cubo dos primos tem ali os cubos dos primos. Então, por hoje é isso. Recapitulando, o comando for. O comando for é uma forma de a gente percorrer os elementos de uma lista. Então, a gente tem esse formato onde essa variável aqui vai assumindo os valores desta lista aqui. O comando for e o comando in são comandos do Python, você não pode mudar isso. Mas, aqui é o nome de uma variável, aqui é o nome de uma variável e aqui vai ter o comando que você digita e tipicamente esse comando vai usar essa variável item aqui. Então, essa é uma forma de usar o comando for. Outra forma é usando o range. Você pode simplesmente determinar o fim e ele vai de zero até o fim, sendo que quando chega no fim ele não executa o comando. Ele vai executar o comando fim vezes zero até antes do fim. Essa é uma forma. Outra forma é você definir tanto o início e o fim desse intervalo. Então, você pode ir da posição 100 até a posição 200, por exemplo, fazer alguma coisa naquele trecho da lista, executando esse comando. E a última forma é dando determinado passo. Então você pode alterar da posição 1000 até a posição 2000, mas de 10 10, por exemplo. Então, são essas as várias formas que a gente pode fazer o uso do comando for para percorrer listas. E, também, uma coisa para relembrar, as listas, a gente pode ir mudando os elementos da lista. Então, nesse exemplo aqui, nós obtivemos o cubo dos elementos que estavam na lista, e guardamos de volta na lista. Então, a gente alterou a lista. O processamento da lista do comando for pode também alterar o comando da lista. [MÚSICA] [MÚSICA] [MÚSICA]