Python Glossary English

все 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Сообщить о неточности