Пропустить до содержимого

Как использовать обратное диапазонирование в Python

[

Python range(): Представление числовых диапазонов

by Гейр Арне Хьелле 10 января 2024 основы python

В этом руководстве вы узнаете, как:

  • Создавать объекты range, представляющие диапазоны последовательных целых чисел
  • Представлять диапазоны чисел с фиксированным шагом
  • Принимать решение, когда использование range — хорошее решение для вашей задачи
  • Избегать range в большинстве случаев циклов

Объект range в Python представляет собой интервал целых чисел. Обычно числа следуют последовательно, но можно указать их шаг. Вы можете создавать диапазоны, вызывая функцию range() с одним, двумя или тремя параметрами, как показано в следующих примерах:

>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(1, 7))
[1, 2, 3, 4, 5, 6]
>>> list(range(1, 20, 2))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

В каждом примере используется функция list(), чтобы явно указать каждый элемент диапазона. Вы более подробно изучите эти примеры позже.

Создание числовых диапазонов

В Python функция range() является встроенной. Это означает, что вы всегда можете вызывать range() без выполнения каких-либо предварительных операций. Вызов функции range() создает объект диапазона, который вы можете использовать. В дальнейшем вы узнаете практические примеры использования объектов диапазона.

Вы можете передать range() один, два или три целочисленных аргумента. Это соответствует трем различным случаям использования:

  1. Диапазоны, начинающиеся с нуля
  2. Диапазоны последовательных чисел
  3. Диапазоны с шагом

Далее вы узнаете подробнее о каждом из этих случаев использования.

Счет от нуля

Когда вы вызываете range() с одним аргументом, вы создаете диапазон, начинающийся с нуля и до, но не включая, указанное число:

>>> range(5)
range(0, 5)

Здесь вы создали диапазон от нуля до пяти. Чтобы увидеть отдельные элементы диапазона, вы можете использовать list() для преобразования диапазона в список:

>>> list(range(5))
[0, 1, 2, 3, 4]

Счет от начала до конца

Когда вы вызываете range() с двумя аргументами, вы создаете диапазон последовательных чисел, начиная с первого аргумента и заканчивая вторым аргументом (не включая его):

>>> range(1, 7)
range(1, 7)

Здесь вы создали диапазон чисел от одного до семи. Чтобы увидеть отдельные элементы этого диапазона, вы можете использовать list():

>>> list(range(1, 7))
[1, 2, 3, 4, 5, 6]

Счет от начала до конца с шагом

Когда вы вызываете range() с тремя аргументами, вы создаете диапазон чисел с указанным шагом. Это означает, что каждый следующий элемент диапазона будет отстоять от предыдущего на указанный шаг:

>>> range(1, 20, 2)
range(1, 20, 2)

Здесь вы создали диапазон чисел от одного до двадцати с шагом два. Чтобы увидеть отдельные элементы этого диапазона, вы можете использовать list():

>>> list(range(1, 20, 2))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

Заключение

В этом руководстве вы узнали, как использовать функцию range() для создания числовых диапазонов в Python. Вы изучили разные варианты использования функции range() и узнали, как пользоваться объектами диапазона. Вы также увидели альтернативные способы работы с числовыми диапазонами, которые могут быть более эффективными в некоторых ситуациях.

Теперь вы можете использовать функцию range() для создания итерируемых объектов, представляющих числовые диапазоны, и использовать их в своих программах на Python.