Conteúdo do Curso
Tutorial de Loops em Python
Tutorial de Loops em Python
Iterando com a Função Range()
Imagine que você tem uma lista de destinos de viagem e deseja trabalhar apenas com uma parte específica dela. Por exemplo, você pode querer visitar apenas as três primeiras cidades ou imprimir os destinos em ordem inversa. A função range()
do Python pode ajudá-lo a iterar facilmente sobre os índices da lista!
Por que usar range()
?
- A função
range()
é útil ao trabalhar com índices de lista; - Permite controlar o início, fim e passo da iteração;
- Em vez de iterar diretamente sobre os itens, você itera sobre as posições dos itens em uma sequência.### Sintaxe de
range()
O formato da funçãorange()
é:
start
: o índice inicial do intervalo (o padrão é 0 se omitido);end
: o índice final (exclusivo);step
: o incremento entre os índices (o padrão é 1).### Exemplo 1: Imprimindo Destinos Específicos Suponha que temos uma lista de cidades que queremos visitar. Vamos imprimir os três primeiros destinos usandorange()
:
# List of travel destinations travel_list = ["Monako", "Luxemburg", "Liverpool", "Barcelona", "Munchen"] # Printing the first three destinations for i in range(3): # Indices: 0, 1, 2 print(travel_list[i])
Explicação:
range(3)
gera números de0
a2
(valor final3
é exclusivo);- Dentro do loop,
travel_list[i]
acessa o destino no índicei
.
Exemplo 2: Imprimindo Destinos em Ordem Reversa
Vamos imprimir os destinos de viagem em ordem reversa:
travel_list = ["Monako", "Luxemburg", "Liverpool", "Barcelona", "Munchen"] # Printing travel destinations in reverse for i in range(len(travel_list) - 1, -1, -1): # Start at last index, end at -1, step -1 print(travel_list[i])
Explicação:
len(travel_list)
calcula o número de itens na lista (5 neste caso);range(len(travel_list) - 1, -1, -1)
gera índices de 4 a 0;- O loop acessa
travel_list[i]
em ordem reversa e imprime:
Nota
Muitas vezes, não sabemos o comprimento de uma lista com antecedência. Para lidar com isso, calculamos o comprimento da lista usando a função
len()
.Como a indexação de listas em Python começa em
0
, o índice do último elemento é semprelen(list) - 1
. Por exemplo, se uma lista tem 5 elementos, o último elemento está no índice4
(não 5).
1. Qual é a saída do seguinte código?
2. Qual é a saída do seguinte código?
3. Qual função range()
itera corretamente para trás de 5 a 1?
4. Qual é a saída do seguinte código?
Obrigado pelo seu feedback!