Sobes.tech
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 и других конструкциях, ожидающих итератор.