range(): la función de rango de Python genera una lista de números que generalmente se usan en muchas situaciones para la iteración, como en for loop o en muchos otros casos. En el rango de python, los objetos no son iteradores. range es una clase de una lista de objetos inmutables. El comportamiento de iteración de rango es similar al comportamiento de iteración de lista en lista y rango, no podemos llamar directamente a la siguiente función. Podemos llamar a next si obtenemos un iterador usando iter.
# Python program to understand range # this creates a list of 0 to 5 # integers demo = range(6) # print the demo print(demo) # it will generate error print(next(demo))
PRODUCCIÓN :
range(0, 6)
Errores de tiempo de ejecución:
Traceback (most recent call last): File "/home/6881218331a293819d2a4c16029084f9.py", line 13, in print(next(demo)) TypeError: list object is not an iterator
Nota: el error de tiempo de ejecución anterior indica claramente que el rango de python no es un iterador.
Debido a que el rango es iterable , podemos obtener un iterador con la ayuda de ellos, pero no podemos llamar directamente a next in next. El siguiente ejemplo lo explica claramente.
# Python program to understand range # creates an iterator demo = iter(range(6)) # print iterator print(demo) # use next print(next(demo))
PRODUCCIÓN :
<listiterator object at 0x7f3f32a46450 > 0
range no genera todos los números que contiene cuando lo creamos. Da solo aquellos números que los obtenemos usando loop. El rango tiene las siguientes propiedades.
- Los objetos de rango son inmutables, lo que significa que no se pueden volver a cambiar para que se puedan usar como índice en los diccionarios.
- Tienen argumentos start stop y step.
- El mismo rango se puede visitar una y otra vez.
Ejemplo
# Python program to understand range # creates a demo range demo = range(1, 31, 2) # print the range print(demo) # print the start of range print(demo.start) # print step of range print(demo.step) # print the index of element 23 print(demo.index(23)) # since 30 is not present it will give error print(demo.index(30))
PRODUCCIÓN :
range(1, 31, 2) 1 2 11
Error de tiempo de ejecución: dado que el elemento 30 no está presente, generará un error
Traceback (most recent call last): File "/home/cddaae6552d1d9288d7c5ab503c54642.py", line 19, in print(demo.index(30)) ValueError: 30 is not in range
Publicación traducida automáticamente
Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA