Iteratoare în Python
Un iterator în Python este un obiect care este folosit pentru a repeta peste obiecte iterabile precum liste, tupluri, dict și seturi. Obiectul iteratoare Python este inițializat folosind iter() metodă. Acesta folosește Următorul() metoda de iterare.
- __iter__(): Metoda iter() este apelată pentru inițializarea unui iterator. Aceasta returnează un obiect iterator __next__(): Metoda următoare returnează următoarea valoare pentru iterabil. Când folosim o buclă for pentru a parcurge orice obiect iterabil, intern folosește metoda iter() pentru a obține un obiect iterator, care folosește în continuare metoda next() pentru a itera. Această metodă generează o StopIteration pentru a semnala sfârșitul iterației.
Python iter() Exemplu
Python3
string> => 'GFG'> ch_iterator> => iter> (string)> print> (> next> (ch_iterator))> print> (> next> (ch_iterator))> print> (> next> (ch_iterator))> |
Ieșire:
G F G
Crearea și bucla peste un iterator folosind iter() și next()
Mai jos este un simplu iterator Python care creează un tip de iterator care iterează de la 10 la o limită dată. De exemplu, dacă limita este 15, atunci se tipărește 10 11 12 13 14 15. Și dacă limita este 5, atunci nu tipărește nimic.
Python3
# A simple Python program to demonstrate> # working of iterators using an example type> # that iterates from 10 to given value> # An iterable user defined type> class> Test:> > # Constructor> > def> __init__(> self> , limit):> > self> .limit> => limit> > # Creates iterator object> > # Called when iteration is initialized> > def> __iter__(> self> ):> > self> .x> => 10> > return> self> > # To move to next element. In Python 3,> > # we should replace next with __next__> > def> __next__(> self> ):> > # Store current value ofx> > x> => self> .x> > # Stop iteration if limit is reached> > if> x>>>> |