все Python 3Циклыпонятие
range()
range
Неизменяемая последовательность целых чисел: не хранит все числа в памяти, а вычисляет их на лету. Используется в for-циклах и срезах.
Синтаксис
range(stop) | range(start, stop) | range(start, stop, step)
range — не генератор, а полноценная неизменяемая последовательность: её можно индексировать, срезать, спрашивать len() и проходить сколько угодно раз (генератор исчерпался бы после первого прохода). Проверка x in range(...) для целых при этом идёт за O(1) — Python считает по арифметике, а не перебирает числа.
Примеры
print(list(range(5))) # → [0, 1, 2, 3, 4]
print(list(range(2, 8))) # → [2, 3, 4, 5, 6, 7]
print(list(range(0, 10, 2))) # → [0, 2, 4, 6, 8]
print(list(range(10, 0, -2))) # → [10, 8, 6, 4, 2]
print(list(range(5, 5))) # → [] (пустой при start==stop)
print(list(range(-3, 3))) # → [-3, -2, -1, 0, 1, 2]
print(sum(range(101))) # → 5050 (сумма 1..100)
for i in range(3, 0, -1):
print(i, end=" ") # → 3 2 1
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности