range() — это встроенный тип, который представляет собой ленивую последовательность целых чисел. Вызов range(stop) генерирует числа от 0 до stop (не включая), range(start, stop) — от start до stop (не включая), а range(start, stop, step) — с указанным шагом step. Чаще всего range() используют в циклах for для повторения действий заданное число раз.
Что такое диапазон range() и как его использовать в циклах?
Подробный ответ
Что такое range()
range() создаёт объект диапазона — последовательность целых чисел, которая генерируется по мере необходимости и не хранит все числа в памяти сразу.
Основные формы вызова:
range(stop)— числа от0доstop(не включаяstop).range(start, stop)— числа отstartдоstop(не включая).range(start, stop, step)— с шагомstep(может быть отрицательным).
range(5) # 0, 1, 2, 3, 4
range(2, 5) # 2, 3, 4
range(0, 10, 2) # 0, 2, 4, 6, 8Использование в циклах for
Чаще всего range() применяют в for, чтобы выполнить действие заданное число раз или пройтись по индексам.
for i in range(3):
print(i)
# 0
# 1
# 2С индексами списка:
nums = [10, 20, 30]
for i in range(len(nums)):
print(i, nums[i])Хотя в Python обычно предпочитают обходить элементы напрямую или через enumerate, умение пользоваться range — базовый навык.
Особенности range()
В Python 3
range()возвращает не список, а специальный объект диапазона, который ведёт себя как «ленивая» последовательность.Если нужен именно список чисел, можно сделать
list(range(...)), но это расходует память пропорционально количеству элементов.
Фраза для собеседования
Функция range() создаёт объект, представляющий последовательность целых чисел и чаще всего используется в циклах for. range(stop) даёт числа от 0 до stop не включительно, range(start, stop[, step]) — от start до stop с указанным шагом. В Python 3 это не список, а отдельный ленивый объект диапазона.
Оцени свой прогресс