В этой статье вы узнаете, как использовать функцию range() в Python с некоторыми примерами кода по ходу дела.
Что такое функция range() в Python? Разбивка синтаксиса функции range()
Встроенная в Python функция range() в основном используется при работе с циклами for - с ее помощью вы можете перебирать определенные блоки кода заданное количество раз.
Оглавление
Функция range() принимает три аргумента — один обязательный, а два необязательных.
По умолчанию синтаксис функции range() выглядит следующим образом:
range(stop)
Аргумент stop является обязательным.
Функция range() возвращает последовательность чисел, начинающуюся с 0, увеличивающуюся на 1 и заканчивающуюся на значении, которое вы указали в качестве stop (не включительно).
Но что если вы хотите выполнить итерацию по диапазону из двух указанных вами чисел и не хотите начинать отсчет с 0?
Вы можете передать второй необязательный аргумент start, start, чтобы указать начальное число. Синтаксис для этого выглядит следующим образом:
range(start, stop)
Этот синтаксис генерирует последовательность чисел на основе значений start (включительно) и stop (не включительно), которые увеличиваются на 1.
И наконец, если вы не хотите, чтобы по умолчанию инкремент был равен 1, вы можете указать третий необязательный аргумент, step. Синтаксис для этого выглядит следующим образом:
range(start, stop, step)
Этот синтаксис генерирует последовательность чисел, которая начинает отсчет с start (включительно) и увеличивается в соответствии с шагом, пока не достигнет stop (не включительно).
Как использовать функцию range() только с аргументом stop
При использовании только аргумента stop в функции range() подсчет начинается с 0 и увеличивается на 1. Подсчет останавливается при достижении значения, указанного в качестве stop.
Помните, что указанное значение stop не является полным!
Если вы укажете аргумент stop, равный 5, диапазон будет включать числа 0 - 4, а не 0 - 5 - подсчет остановится на 4, а не на 5.
Давайте посмотрим на пример ниже:
for num in range(5):
print(num)
# output
# 0
# 1
# 2
# 3
# 4
В этом примере я указал range(5).
Функция начала отсчет с 0, увеличивала на 1 на каждой итерации и закончила на 4.
Как использовать функцию range() с аргументами start и stop
Если вы хотите получить диапазон из двух чисел, вы используете два аргумента - start и stop. Имейте в виду, что значение start является инклюзивным, а значение stop - нет.
Если вам нужен диапазон значений от 5 включительно до 10 включительно, вы напишете range(5,11) следующим образом:
for num in range(5,11):
print(num)
# output
# 5
# 6
# 7
# 8
# 9
# 10
В range() можно передавать и отрицательные целые значения:
for num in range(-5, 1):
print(num)
# output
# -5
# -4
# -3
# -2
# -1
# 0
Следует отметить, что в range() нельзя передавать значения с плавающей точкой.
В этом примере, когда я передаю два значения с плавающей точкой в качестве аргументов, возникает ошибка:
for num in range(5.2, 4.3):
print(num)
# output
# Traceback (most recent call last):
# File "main.py", line 1, in <module>
# for num in range(5.2, 4.3):
# TypeError: 'float' object cannot be interpreted as an integer
В качестве аргументов start и stop можно передавать как отрицательные, так и положительные целые числа.
Как использовать функцию range() с аргументами start, stop и step
По умолчанию значение инкремента равно 1 и не указывается. Однако его можно изменить, передав в функцию range() аргумент step.
Давайте рассмотрим следующий пример:
for num in range(10,21,2):
print(num)
# output
# 10
# 12
# 14
# 16
# 18
# 20
В приведенном примере я создал последовательность чисел от 10 до 20 и увеличил шаги на 2. Я достиг этого, указав значение шага 2.
Следует отметить, что step может быть как отрицательным, так и положительным числом, но он не может быть равен 0.
Вот как можно сгенерировать диапазон с отрицательным аргументом step:
for num in range(20, 11, -2):
print(num)
# output
# 20
# 18
# 16
# 14
# 12
Приведенный выше код генерирует последовательность чисел в обратном порядке.
Посмотрите, что происходит, когда шаг равен 0:
for num in range(10, 21 0):
print(num)
# output
# File "main.py", line 1
# for num in range(10, 21 0):
^
# SyntaxError: invalid syntax
Как создать список чисел с помощью функции range()
Вы можете создать список чисел, передав функцию range() в качестве аргумента конструктору list() следующим образом:
my_numbers_list = list(range(5))
print(my_numbers_list)
# output
# [0, 1, 2, 3, 4]
В приведенном выше примере я создал список чисел от 0 до 4.
Как использовать функцию len() с range() в Python
Допустим, у вас есть список элементов и вы хотите что-то сделать с элементами в зависимости от длины списка.
Для этого вы можете использовать функцию range() и передать ей в качестве аргумента длину списка.
Чтобы вычислить длину списка, используйте функцию len().
programming_languages = ["Python", "JavaScript", "Java", "C++"]
programming_languages_length = len(programming_languages)
for languages in range(programming_languages_length):
print("Hello World")
# output
# Hello World
# Hello World
# Hello World
# Hello World
Заключение
Вот и все! Теперь вы знаете, как использовать функцию range() в Python.
Спасибо, что дочитали, и счастливого кодинга!