2.20. Laços do tipo for

2.20.1. Iterando nos Elementos de um Sequência

Iterando pelos caracteres de uma string:

nome = "Gilberto Ribeiro"

for letra in nome:
    print(letra)

Iterando pelos itens de uma lista:

cidades = ["São Paulo", "Rio de Janeiro", "Belo Horizonte"]

for cidade in cidades:
    print("Nome:", cidade)

Iterando no intervalo de valores \([7, 17)\):

for num in range(7, 17):
    print(num)

2.20.2. Usando a função enumerate

cidades = ["São Paulo", "Rio de Janeiro", "Belo Horizonte"]

for i, cidade in enumerate(cidades):
    print("{}: {}".format(i, cidade))

2.20.3. Atravessando Listas

Atravessando duas Listas:

print("Conversão de F -> C")

fahr = [ 0, 20, 40, 60, 80, 100 ]

celsius = [ 5*(x-32)/9 for x in fahr ]

for f, c in zip(fahr, celsius):
    print(f, c)

print("Fim!")

Atravessando três Listas:

print("Conversão de F -> C -> K")

fahr = [ 0, 20, 40, 60, 80, 100 ]

celsius = [ 5*(x-32)/9 for x in fahr ]

kelvin = [ x+273 for x in celsius ]

for f, c, k in zip(fahr, celsius, kelvin):
    print(f, c, k)

print("Fim!")

2.20.4. Iterando em Dicionários

Considere o seguinte dicionário:

sao_paulo = {
    "name" : "São Paulo",
    "woeid" : 12582314,
    "bounding-box" : ((-46.82, -24.00), (-46.36, -23.68)),
    "country" : "Brazil"
}

Podemos iterar pelos pares chave-valor do dicionário associado ao identificador sao_paulo, usando o método items:

for key, value in sao_paulo.items():
    print(f"key: {key}; value: {value}")

Nota

Para mais informações em técnicas de como fazer a travessia ou usar laços com dicionários, consulte [26].

Exemplos

Vamos fazer os exemplos 10 e 11.