Встречается на собеседованиях • сегодня
Как написать итератор
В Python итератор — это объект, который реализует протокол итератора, состоящий из методов __iter__() и __next__().
__iter__()возвращает сам объект итератора.__next__()возвращает следующий элемент или вызываетStopIteration, если элементов больше нет.
Пример простого итератора, который генерирует числа от 0 до заданного предела:
python
class CountIterator:
def __init__(self, limit):
self.current = 0
self.limit = limit
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
num = self.current
self.current += 1
return num
else:
raise StopIteration
# Использование:
for num in CountIterator(5):
print(num) # 0, 1, 2, 3, 4Также можно создать итератор с помощью генератора (функции с yield), что проще:
python
def count_generator(limit):
current = 0
while current < limit:
yield current
current += 1
for num in count_generator(5):
print(num) # 0, 1, 2, 3, 4
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы