Back to questions
Вкусно и точка
Junior — Middle
61
Каким образом реализовать механизм обхода элементов коллекции с помощью итератора?
Companies where asked
Answer from AI
sobes.tech AI
В Python итератор — это объект, который реализует методы __iter__() и __next__(). Чтобы реализовать механизм обхода элементов коллекции с помощью итератора, нужно создать класс итератора, который хранит состояние обхода и возвращает следующий элемент при вызове __next__().
Пример реализации итератора для списка:
class MyIterator:
def __init__(self, collection):
self.collection = collection
self.index = 0
def __iter__(self):
return self
def __next__(self):
if self.index < len(self.collection):
item = self.collection[self.index]
self.index += 1
return item
else:
raise StopIteration
# Использование:
my_list = [1, 2, 3]
iterator = MyIterator(my_list)
for item in iterator:
print(item)
Такой итератор можно использовать в циклах for и других конструкциях, ожидающих итератор.