Comando for
¶
Vários problemas envolvendo listas requerem percorrer (varrer) todos
os elementos da lista, um a um, do início até o fim. Nesses casos,
podemos utilizar o comando for
:
Activity: CodeLens 1 (exemplo_percorrer_lista_com_for_elem)
Para usar o comando for
, você precisa definir uma variável que vai
receber o valor de um elemento da lista a cada iteração.
Nesse exemplo, a variável elemento
recebe o valor
de cada elemento da lista primos
, ou seja, primeiro o valor
2, depois 3, 5, e assim por diante, até 13. A repetição termina
quando o último elemento da lista primos
for utilizado.
Observe também que a varredura da lista pode ser feita usando o
comando while
. A sequência de índices válidos é gerada variando
a variável i de 0 até len(primos)
.
Muitas vezes é mais conveniente varrer uma lista usando uma variável que assume valores dentro do intervalo dos índices válidos. Com isso, temos mais poder e flexibilidade no acesso aos elementos da lista, como por exemplo, varrer a lista da direita para a esquerda, ou pegar apenas os elementos de índice par.
Nesses casos também, quando queremos ter controle sobre os índices,
é muito comum utilizar o comando for
em conjunto com a função
range()
. Basicamente, devemos chamar a função range()
para
que ela “devolva uma lista”
contendo os valores dos índices que queremos utilizar.
A função range()
recebe 3 parâmetros: início
, fim
e
passo
, que definem a sequência de números a ser criada. Modifique
o trecho de programa abaixo para ver como a função range se comporta
em conjunto com o for
:
Observe que, como na definição de intervalos em fatias de lista,
o intervalo de números cobertos pela função range()
é fechado
no início
e aberto no fim
.
Quando o passo desejado é 1 (um), o valor não precisa ser
passado a função range()
, como abaixo:
Para facilitar mais ainda a varredura de listas, quando o início
desejado é 0 (zero) e o passo 1 (um), você pode definir apenas o
fim
, como:
Nesse exemplo, usando a função len()
o final do intervalo a ser
gerado pela função range()
. Para saber mais sobre essa função, consulte a
documentação da função range().
Para verificar se você entendeu como funciona a função range()
,
modifique o inicio
, fim
e passo
no trecho de programa
abaixo para varrer a lista de forma reversa, ou seja, da direita para
a esquerda.