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