Встречается на собеседованиях • сегодня

Чем range похож на итератор в Python

Range и итератор в Python имеют схожесть в том, что оба позволяют последовательно получать элементы, но range — это не итератор, а неизменяемая последовательность чисел.

Ключевые сходства:

  • Оба поддерживают итерацию (можно использовать в for).
  • Оба лениво генерируют значения (не хранят все элементы в памяти сразу).

Различия:

  • Range — это последовательность (поддерживает индексацию, len()), а итератор — нет.
  • Итератор потребляет элементы (после прохода становится пустым), а range можно использовать многократно.

Пример:

python
r = range(3)  # range — не итератор
print(list(r))  # [0, 1, 2]  
print(list(r))  # [0, 1, 2] — можно повторно итерировать  

it = iter(r)  # превращаем в итератор  
print(next(it))  # 0  
print(list(it))  # [1, 2] — элементы "потреблены"  
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы