Встречается на собеседованиях • сегодня
Почему range возвращает генератор в Python
В Python range не является генератором, а возвращает специальный объект типа range. Это неизменяемая последовательность чисел, которая генерирует элементы по требованию, но обладает ключевыми отличиями от генераторов:
- Повторное использование -
rangeможно итерировать многократно, а генератор одноразовый. - Операции с последовательностью - поддерживает
len(), индексацию, проверку вхождения (in). - Эффективность - хранит только
start,stop,step, не занимая память под все числа.
Пример:
python
r = range(5)
print(list(r)) # [0, 1, 2, 3, 4]
print(3 in r) # True
print(r[2]) # 2Генератор же создаётся функцией с yield и не поддерживает эти операции. range оптимизирован именно для работы с числовыми последовательностями.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы