Python Language Iterazione

Esempio

Un oggetto generatore supporta il protocollo iteratore . Vale a dire, fornisce un metodo next() ( __next__() in Python 3.x), che viene usato per passare attraverso la sua esecuzione, e il suo metodo __iter__ restituisce sé stesso. Ciò significa che un generatore può essere utilizzato in qualsiasi costrutto linguistico che supporti oggetti iterabili generici.

# naive partial implementation of the Python 2.x xrange()
def xrange(n):
    i = 0
    while i < n:
        yield i
        i += 1

# looping
for i in xrange(10):
    print(i)  # prints the values 0, 1, ..., 9

# unpacking
a, b, c = xrange(3)  # 0, 1, 2

# building a list
l = list(xrange(10))  # [0, 1, ..., 9]