Функция range в Python: описание и примеры
Функция range
возвращает последовательность чисел в заданном диапазоне с заданным шагом. Как правило, эти последовательности используются в циклах for
для итерации по последовательности чисел.
Синтаксис и параметры
range(stop)
range(start, stop, step=1)
start
— начальное значение последовательности (по умолчанию 0).stop
— конечное значение последовательности (не включается).step
— шаг последовательности (по умолчанию 1).
Если мы передаем один аргумент, то это означает, что мы передаем аргумент остановки, а не начала последовательности.
Примеры использования
В примере ниже создается последовательность чисел 0
до 5
(не включая 5
). Цикл for
используется для итерации по этой последовательности:
for i in range(5):
print(i)
0
1
2
3
4
Для того чтобы задать начальное значение последовательности, используйте два аргумента:
for i in range(2, 5):
print(i)
2
3
4
Передайте третий аргумент, чтобы указать шаг последовательности:
for i in range(0, 10, 2):
print(i)
0
2
4
6
8
Для того чтобы получить последовательность чисел в обратном порядке, укажите отрицательный шаг. Например, последовательность чисел от 5
до 1
может быть создана следующим образом:
for i in range(5, 0, -1):
print(i)
5
4
3
2
1
Индексирование, срезы и преобразование в список
Функция range()
возвращает итерируемый объект, который поддерживает операции индексирования и срезы:
numbers = range(10)
print(numbers) # range(0, 5)
print(numbers[2]) # 2
print(numbers[2:5]) # range(2, 5)
Однако, если вам нужно получить именно список чисел, можно использовать функцию list()
для преобразования объекта range
в список:
numbers = list(range(5))
print(numbers) # [0, 1, 2, 3, 4]
while
и переменная счетчик или for
и range
?
Для итерации по последовательности чисел в Python можно использовать как цикл while
с переменной счетчиком, так и цикл for
с функцией range()
. Однако, использование цикла for
с range()
обычно более предпочтительно, так как это делает код более читаемым и понятным. Сравните пример с использованием цикла while
и переменной счетчиком и пример с использованием цикла for
и range()
:
# Использование цикла while и переменной счетчика
i = 0
while i < 5:
print(i)
i += 1
# Использование цикла for и range
for i in range(5):
print(i)