función range en python | función range en python | explicación detallada de la función range() | uso de range(len()) en Python


range() es una función integrada en Python que genera una secuencia de enteros. En concreto, se define de la siguiente manera:

range([start], [stop], [step])

start, stop y step representan el valor inicial, el valor final y el tamaño del paso de la secuencia, respectivamente. start y step son parámetros opcionales y predeterminados en 0 y 1 si no se especifican.

1. Range() pasa diferentes parámetros

1. Al pasar un parámetro

Cuando solo se pasa un parámetro, significa generar una secuencia de números enteros a partir de 0 y más pequeños que el parámetro. Por ejemplo:

>>> range(5)
#range(0, 5)

En este ejemplo, range(5) significa generar una secuencia de números enteros a partir de 0 y menos de 5. Cabe señalar que la función range() en realidad devuelve un objeto de tipo rango, no una lista, pero se puede usar como una lista en la mayoría de los casos.

2. Al pasar dos parámetros

Cuando se pasan dos parámetros, significa generar una secuencia de enteros que comienzan desde el inicio y menos que el final. Por ejemplo:

>>> range(2, 5)
range(2, 5)

En este ejemplo, range(2, 5) significa generar una secuencia de números enteros a partir de 2 y menos de 5.

3. Al pasar tres parámetros

Cuando se pasan tres parámetros, significa generar una secuencia entera que comienza desde el inicio, aumentando el paso cada vez y menos que detener. Por ejemplo:

>>> range(0, 10, 2)
range(0, 10, 2)

range(0, 10, 2) significa generar una secuencia de enteros a partir de 0 y aumentando en 2 cada vez, menos de 10.

Cabe señalar que cuando el paso es un número positivo, la parada debe ser mayor que el inicio, de lo contrario no se generará ningún número. Por ejemplo:

>>> range(5, 2)
range(5, 2)

En este ejemplo, no se pueden generar números debido a start=5, stop=2, step=1.

Además, cuando el paso es negativo, el inicio debe ser mayor que el final para generar una secuencia. Por ejemplo:

>>> range(5, 2, -1)
range(5, 2, -1)

En start=5, stop=2, step=-1, por lo que la secuencia generada es 5, 4, 3.

En aplicaciones prácticas, la función range() tiene muchos usos comunes. A continuación, se presentarán en detalle varios usos de la función range(), que incluyen:

  1. Usa range() para construir un bucle for
  2. Uso de range(len()) al recorrer una lista
  3. Use range() para generar una secuencia aritmética de longitud fija
  4. Use range() para generar una secuencia de enteros en orden inverso

2. Usa range() para construir un bucle for

Uno de los usos más comunes de la función range() es construir iteradores para bucles for. Por ejemplo, el siguiente código demuestra cómo usar la función range() para construir un ciclo de 0 a 4:

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

Resultado de salida:

0
1
2
3
4

range(5) devuelve una secuencia de enteros que contiene 5 elementos, y cada elemento se usa en el ciclo for para asignar un valor a la variable i y la salida.

Cabe señalar que cuando se utiliza la función range(), el rango de valores de la variable de bucle i es de 0 a n-1. Por lo tanto, si necesita hacer un ciclo desde 1, puede agregar uno:

for i in range(1, 6):
    print(i)
1
2
3
4
5

3. Use range(len()) cuando recorra la lista

Cuando se trabaja con listas, a veces es necesario iterar sobre los índices y valores de la lista al mismo tiempo. En este momento, puede usar la función range(len()) para generar una secuencia de enteros con la misma longitud que la lista y usar los elementos de la secuencia como índice de la lista en el ciclo. Por ejemplo, el siguiente código demuestra cómo iterar sobre una lista y generar su índice y valor:

fruit_list = ['apple', 'banana', 'orange']
for i in range(len(fruit_list)):
    print('Index:', i, 'Value:', fruit_list[i])

Resultado de salida:

Index: 0 Value: apple
Index: 1 Value: banana
Index: 2 Value: orange

En este ejemplo, range(len(lista_de_frutas)) devuelve una secuencia entera [0, 1, 2] que contiene 3 elementos. Al hacer un bucle, use el elemento i de la secuencia como índice de lista_de_frutas y acceda a la lista a través de lista_de_frutas[i ] elemento.

3.1 Recorrer la lista directamente usando el bucle for

Tenga en cuenta que si bien es posible manipular listas iterando sobre sus índices y valores, generalmente se prefieren los iteradores en Python. Por ejemplo, se puede usar un bucle for para iterar directamente sobre cada elemento de una lista:

for fruit in fruit_list:
    print(fruit)

La salida es la siguiente

apple
banana
orange

4. Use range() para generar una secuencia aritmética de longitud fija

Además de usar la función range() en el bucle for, también se puede usar para generar una secuencia aritmética de longitud fija. Específicamente, esto se puede lograr en Python usando listas de comprensión combinadas con la función range(). El siguiente código demuestra cómo generar una secuencia aritmética de longitud 5, con 2 como primer término y una tolerancia de 3:

a = [2 + 3 * i for i in range(5)]
print(a)

Resultado de salida:

[2, 5, 8, 11, 14]

range(5) devuelve una secuencia de enteros de 5 elementos [0, 1, 2, 3, 4], luego usa una lista por comprensión para evaluar cada elemento i y almacenar el resultado en la lista a.

Cabe señalar que dado que la función range() comienza desde 0 de forma predeterminada, el primer elemento debe agregarse al cálculo. Si desea utilizar otros valores como primer elemento, puede pasar el parámetro de inicio:

a = [10 + 3 * i for i in range(5)]
print(a)

Resultado de salida:

[10, 13, 16, 19, 22]

5. Use range() para generar una secuencia de enteros en orden inverso

Además de la secuencia de enteros en orden positivo, a veces es necesario generar una secuencia de enteros en orden inverso (orden inverso). En Python, puede usar step=-1 para lograr esta función. Por ejemplo, el siguiente código demuestra cómo generar una secuencia inversa de 9 a 0:

for i in range(9, -1, -1):
    print(i)
9
8
7
6
5
4
3
2
1
0

En este ejemplo, range(9, -1, -1) devuelve una secuencia entera [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] que contiene 10 elementos, que luego se recorre en el for Repita la secuencia y emita cada elemento.

Cabe señalar que al generar una secuencia inversa, el parámetro de parada debe ser menor que el parámetro de inicio y el paso debe ser un número negativo. Si no se cumple la condición, la función range() devolverá una secuencia vacía.

Supongo que te gusta

Origin blog.csdn.net/m0_58857684/article/details/130844579
Recomendado
Clasificación