Pular para o conteúdo

Como utilizar a função range em Python de forma reversa?

[

Python range(): Representar Intervalos Numéricos

por Geir Arne Hjelle 10 de Janeiro de 2024 básico python

Construir Intervalos Numéricos

Em Python, range() é uma função builtin. Isso significa que você sempre pode chamar range() sem fazer nenhuma preparação prévia. Chamando range(), você constrói um objeto range que você pode usar. Mais adiante, você verá exemplos práticos de como usar objetos range.

Você pode fornecer a range() um, dois ou três argumentos inteiro. Isso corresponde a três casos de uso diferentes:

  1. Intervalos contagem a partir de zero
  2. Intervalos de números consecutivos
  3. Intervalos pulando números

Você aprenderá como usar cada um destes a seguir.

Contagem a partir de zero

Quando você chama range() com um argumento, você cria um intervalo que conta a partir de zero até, mas não incluindo, o número fornecido:

range(5)

Aqui, você criou um intervalo de zero a cinco. Para ver os elementos individuais do intervalo, você pode usar list() para converter o intervalo em uma lista.

Use a função range() do Python para criar intervalos específicos

Você pode criar objetos range que representam intervalos específicos de números usando a função range() do Python. A função range() aceita um, dois ou três argumentos inteiros que determinam os limites e o passo do intervalo.

Lide com intervalos de números negativos

A função range() também pode lidar com intervalos que contêm números negativos. Isso pode ser útil em algumas situações. Por exemplo, se você quiser criar um intervalo que vai de -5 a 5, você pode fazer o seguinte:

Trabalhe com um intervalo vazio

Em alguns casos, você pode querer criar um intervalo vazio. Isso pode ser útil quando você deseja iterar sobre um intervalo de números, mas não precisa dos valores em si. Para criar um intervalo vazio, você pode definir o início e o fim do intervalo como o mesmo valor:

Contagem regressiva com passos negativos

A função range() também permite que você faça contagens regressivas usando passos negativos. Você pode especificar um passo negativo para contar de trás para frente.

Faça um loop sobre intervalos ou use uma alternativa

Quando você precisa iterar sobre os elementos de um intervalo, você pode usar um loop for para fazer isso. No entanto, existem outras abordagens alternativas que podem ser mais eficientes ou legíveis em certas situações.

Repita uma operação

Em muitos casos, você pode iterar sobre um intervalo apenas para repetir uma operação um determinado número de vezes. Nesses casos, é mais conciso usar a função range() em conjunto com um loop for.

Faça um loop diretamente sobre o iterador

Alternativamente, você pode fazer um loop diretamente sobre o iterador retornado pela função range(), em vez de converter o intervalo em uma lista com a função list(). Isso pode ser útil quando você precisa economizar memória ou quando não precisa dos valores em si.

Example:

for i in range(5):
print(i)

Use enumerate() para criar índices

A função enumerate() é uma função incorporada útil em Python para criar índices de elementos em uma sequência. Ela retorna uma tupla contendo o índice e o valor de cada elemento.

Example:

for i, value in enumerate(range(5)):
print(i, value)

Use zip() para iteração paralela

A função zip() é usada para combinar várias sequências em uma única sequência. Quando você itera sobre essas sequências combinadas, os elementos correspondentes são retornados como tuplas.

Example:

x = range(5)
y = range(5, 10)
z = range(10, 15)
for a, b, c in zip(x, y, z):
print(a, b, c)

Explore outras características e usos dos intervalos

Além das funcionalidades mencionadas acima, os intervalos em Python têm diversas outras características e usos que podem ser úteis em diferentes situações. Abaixo, você irá explorar algumas dessas características:

Acesse números individuais em um intervalo

Você pode acessar os números individuais em um intervalo usando a indexação, da mesma forma que você faria com uma lista.

Example:

r = range(1, 6)
print(r[2])

Crie subintervalos com fatias

Assim como as listas, os intervalos em Python suportam o uso de fatias para criar subintervalos.

Example:

r = range(1, 10)
sub_range = r[2:7:2]
print(list(sub_range))

Verifique se um número é um membro de um intervalo

Você pode verificar se um número é membro de um intervalo usando o operador in. Isso pode ser útil quando você precisa verificar se um valor está dentro de um determinado intervalo.

Example:

r = range(1, 6)
print(3 in r)
print(7 in r)

Calcule o número de elementos em um intervalo

Você pode calcular o número de elementos em um intervalo usando a função len().

Example:

r = range(1, 6)
print(len(r))

Inverta um intervalo

Você pode inverter um intervalo usando o método reversed().

Example:

r = range(1, 6)
print(list(reversed(r)))

Crie um intervalo usando parâmetros semelhantes a números inteiros

Além de fornecer valores inteiros como argumentos para a função range(), você também pode usar outros tipos de dados semelhantes a números inteiros, como float e Decimal.

Example:

from decimal import Decimal
r1 = range(0, 5)
r2 = range(Decimal('0'), Decimal('5'))
print(list(r1))
print(list(r2))