Usando a função range em Python
- #Python
Já se deparou com alguma situação em que você precisa criar uma sequência de números ou listas mas acha trabalhoso demais ter que ficar digitando e alongando o seu código?
Existe uma forma muito mais simples para isso, utilizando uma função que realiza esse trabalho por você e ela se chama range().
A função range() é nativa da linguagem Python e é utilizada para gerar uma sequência numérica, com incremento opcional ou diferença entre valores, dentro de um intervalo determinado. Vejamos como como isso funciona:
Sintaxe básica
range(start, stop, step)
onde:
- start é a posição de início da sequência (por padrão é 0);
- stop é o limite (exclusivo) da sequência;
- step é o valor de incremento da sequência (por padrão é 1).
Utilizando range() em uma lista
Como mencionado no início deste artigo, podemos utilizar a função range() para a criação de uma lista:
x = list(range(1, 10, 1))
print(x)
No exemplo acima foi criado uma lista com uma sequencia de números onde 1 foi o início da sequência, 10 é o limite e 1 o valor de incremento, obtendo a seguinte saída:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
É importante salientar que a função range() nunca inclui o número final nos resultados. Neste exemplo, caso seja necessário que o número "10" esteja no resultado, deve-se alterar o 10 pelo 11 dentro do range():
x = list(range(1, 11, 1))
print(x)
O resultado seria:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Utilizando o range() em loops
Uma das formas mais vistas na utilização do range() é com estruturas de loop, como o for:
for i in range(10):
print(i)
Acima, temos um range(10) que gera uma sequência iniciando em 0 e indo até 9, como ilustrado abaixo:
0
1
2
3
4
5
6
7
8
9
Personalizando a sequência
O range() possui uma flexibilidade que permite personalizar a sequência gerada conforme necessário:
for i in range(1, 10, 2):
print(i)
Neste exemplo, o range() cria uma sequência iniciando em 1, indo até 9, com incremento de 2, como mostrado abaixo:
1
3
5
7
9
Aplicações avançadas
A função range() permite aplicações mais avançadas para melhorar a estrutura do seu código. Abaixo seguem alguns exemplos:
1) É possível e muito útil usar a função range() para iterar sobre índices de listas ou outros iteráveis:
my_list = [10, 20, 30, 40, 50]
for index in range(len(my_list)):
print(f"Index {index}: {my_list[index]}")
onde:
- 'range(len(my_list))' cria uma sequência de índices equivalentes aos índices da lista 'my_list';
- O loop 'for' itera sobre a sequência dos índices;
- 'my_list[index]' acessa cada elemento da lista usando o índice.
Index 0: 10
Index 1: 20
Index 2: 30
Index 3: 40
Index 4: 50
2) Gerando sequências com ponto flutuante:
for i in range(0, 5):
print(i / 2)
onde:
- 'range(0 , 5)' gera uma sequência de 0 a 4;
- o loop 'for' itera sobre essa sequência;
- o 'print(i / 2)' exibe cada valor divido por 2, gerando uma sequência de números de ponto flutuante de 0.0 a 2.0
0.0
0.5
1.0
1.5
2.0
3) Usando range() com outras estruturas de controle:
for i in range(1, 6):
if i % 2 == 0:
print(f"{i} é par")
else:
print(f"{i} é ímpar")
onde:
- 'range(1, 6)' gera uma sequência de 1 a 5;
- o loop 'for' itera sobre essa sequência;
- o 'if i % 2 == 0' verifica se i é par;
- O 'print' exibe a classificação de cada número como par ou ímpar.
1 é ímpar
2 é par
3 é ímpar
4 é par
5 é ímpar
Conclusão
A função range() é uma ferramenta essencial em Python, proporcionando uma abordagem eficaz para a geração de sequências numéricas, seja para criação de listas, controle de loops ou iteração sobre índices, deixando seu código mais conciso e legível.
Para saber mais segue o link da documentação completa: https://docs.python.org/pt-br/3/tutorial/controlflow.html#the-range-function