La función Python next() devuelve el siguiente elemento de un iterador. En este artículo, cubriremos la sintaxis de next(), los parámetros de next() y las devoluciones de next().
Sintaxis: siguiente (iter, stopdef)
Parámetros:
- iter: el iterador sobre el que se va a realizar la iteración.
- stopdef: valor predeterminado que se imprimirá si llegamos al final del iterador.
Devoluciones: Devuelve el siguiente elemento de la lista, si no está presente, imprime el valor predeterminado. Si el valor predeterminado no está presente, genera el error StopIteration.
Ejemplo del método Python next()
Ejemplo 1: Demostración del funcionamiento de next()
Aquí veremos el python next() en bucle.
Python3
# Python code to demonstrate # working of next() # initializing list list1 = [1, 2, 3, 4, 5] # converting list to iterator list1 = iter(list1) print("The contents of list are : ") # printing using next() # using default while (1): val = next(list1, 'end') if val == 'end': print('list end') break else: print(val)
Producción:
The contents of list are : 1 2 3 4 5 list end
Ejemplo 2: obtener el siguiente elemento del iterador
Python3
list1 = [1, 2, 3, 4, 5] # converting list to iterator list1 = iter(list1) print(list1) print(next(list1)) print(next(list1)) print(next(list1))
Producción:
<list_iterator object at 0x0000021D7C801D88> 1 2 3
Ejemplo 3: pasar el valor predeterminado a next()
Python3
list1 = [1, 2, 3, 4, 5] # converting list to iterator list1 = iter(list1) print(list1) print(next(list1, -1)) print(next(list1, -1)) print(next(list1, -1)) print(next(list1, -1)) print(next(list1, -1)) print(next(list1, -1)) print(next(list1, -1))
Producción:
<list_iterator object at 0x0000021D7AE08908> 1 2 3 4 5 -1 -1
Ejemplo 6: detener la iteración de Python next()
Python3
list1 = [1, 2, 3, 4, 5] # converting list to iterator list1 = iter(list1) print(list1) print(next(list1)) print(next(list1)) print(next(list1)) print(next(list1)) print(next(list1)) print(next(list1))
Producción:
<list_iterator object at 0x0000021D7ADF55C8> 1 2 3 4 5 --------------------------------------------------------------------------- StopIteration Traceback (most recent call last) <ipython-input-17-02f0e1df3bbe> in <module> 10 print(next(list1)) 11 print(next(list1)) ---> 12 print(next(list1)) StopIteration:
Al llamar fuera del rango del iterador, aumenta el error Stopiteration, para evitar este error, usaremos el valor predeterminado como argumento.
Ejemplo 5: Análisis de rendimiento
Python3
# Python code to demonstrate # next() vs for loop import time # initializing list list1 = [1, 2, 3, 4, 5] # keeping list2 list2 = list1 # converting list to iterator list1 = iter(list1) print("The contents of list are : ") # printing using next() # using default start_next = time.time() while (1): val = next(list1, 'end') if val == 'end': break else: print(val) print("Time taken for next() is : " + str(time.time() - start_next)) # printing using for loop start_for = time.time() for i in list2: print(i) print("Time taken for loop is : " + str(time.time() - start_for))
Producción:
The contents of list are : 1 2 3 4 5 Time taken for next() is : 5.96046447754e-06 1 2 3 4 5 Time taken for loop is : 1.90734863281e-06
Resultado: Python next in For loop es una mejor opción cuando se imprime el contenido de la lista que next().
Aplicaciones: next() es la función de utilidad para imprimir los componentes del contenedor de tipo iter. Su uso es cuando no se conoce el tamaño del contenedor o necesitamos dar un aviso cuando la lista/iterador se ha agotado.
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA