Как использовать функцию Range() для перебора списка в Python

В этом руководстве по Python мы рассмотрим как использовать функцию range() для перебора списка в Python используя иллюстративные примеры.
Python предоставляет множество методов для взаимодействия со списками. Одной из наиболее распространенных задач, которые может потребоваться выполнить программисту, является итерация Список Python. В Python это можно сделать с помощью диапазон() Функция, которая генерирует последовательность чисел, которую мы можем использовать для доступа к элементам списка.
Что такое функция range() в Python
диапазон() Функция в Python генерирует последовательность чисел, начиная с 0 по умолчанию, увеличивается на 1 (также по умолчанию) и останавливается перед указанным числом.
Синтаксис для диапазон() функция в Python выглядит следующим образом:
range(start, stop, step)
Где:
- Начинать:– (Верхний предел/Необязательно) Целое число, указывающее, с какой позиции начинать. Значение по умолчанию – 0.
- Останавливаться:– (Нижний предел) Целое число, указывающее, в какой позиции заканчиваться.
- Шаг:– (Необязательно) Целое число, определяющее приращение. По умолчанию 1.
диапазон() Функция в Python работает только с целочисленными значениями (положительными или отрицательными). Если мы используем число с плавающей запятой или нецелочисленный тип значения, мы получим Ошибка типа.
Использование функции range() для перебора списка в Python
Теперь давайте углубимся в то, как мы можем использовать диапазон() функция для перебора списка в Python. В качестве примера возьмем список некоторых штатов США.
usa_states = ["Alaska", "California", "Hawaii", "New Jersey", "New York", "Ohio", "Texas", "Washington"]
Чтобы выполнить итерацию по этому списку Python, используя диапазон() функции, мы бы сделали что-то вроде следующего:
usa_states = ["Alaska", "California", "Hawaii", "New Jersey", "New York", "Ohio", "Texas", "Washington"]
for i in range(0, 8, 1):
print(usa_states[i])
Примечание. Для этого мы также можем использовать отрицательный индекс.
В приведенном выше коде диапазон() Функция в Python используется для генерации последовательности чисел от 0 до 8 без какого-либо интервала, поскольку значение шага такое же, как и по умолчанию. для Затем цикл выполняет итерацию по этим числам, и каждое число используется в качестве индекса для доступа и печати соответствующего элемента в usa_states список.
Или мы можем использовать, лен () функционировать как стоп-параметр для диапазон() функция
usa_states = ["Alaska", "California", "Hawaii", "New Jersey", "New York", "Ohio", "Texas", "Washington"]
for i in range(len(usa_states)):
print(usa_states[i])
В этом коде Python диапазон() Функция используется для генерации последовательности чисел от 0 до длины usa_states список.
Вывод: в обоих случаях результат будет таким же, как Лен (США_штаты) равно 8, что является стоп-значением в первом.
Alaska
California
Hawaii
New Jersey
New York
Ohio
Texas
Washington

Используйте Cases of Python range() для перебора списка
Можно задаться вопросом, почему диапазон() метод, когда мы можем просто перебирать Список Python прямо так:
for state in usa_states:
print(state)
Хотя верно то, что мы можем выполнять итерацию по списку непосредственно в Python, существуют определенные ситуации, когда использование диапазон() может быть выгодно:
- Изменение элементов списка
- Одновременный доступ к элементам в нескольких списках
- Итерация по части списка
Давайте рассмотрим их один за другим с подходящими примерами:
Случай 1: изменение элементов списка Python с помощью функции range()
Если нам нужно изменить элементы Список Python при переборе по нему нам понадобятся их индексы. В этом случае диапазон() функция пригодится.
В этом примере мы умножим каждый элемент в списке на коэффициент 2. Это случай, когда нам нужно изменить элементы списка. Список Python во время итерации, и поэтому необходимо использовать диапазон() функция:
numbers = [1, 2, 3, 4, 5]
factor = 2
for i in range(len(numbers)):
numbers[i] *= factor
print(numbers) # Outputs: [2, 4, 6, 8, 10]
Результат:

Список Python был изменен с помощью диапазон() функция.
Случай 2: одновременный доступ к элементам в нескольких списках с использованием функции range() в Python
Если у нас есть несколько списков Python одинаковой длины и нам нужно обработать элементы с одинаковыми индексами из этих списков, мы можем использовать метод диапазон() функция.
В этом примере мы пройдемся по двум спискам Python одновременно, используя индекс, предоставленный диапазон() функция для доступа к соответствующим элементам из каждого списка:
usa_states = ["California", "New York", "Texas"]
state_capitals = ["Sacramento", "Albany", "Austin"]
for i in range(len(usa_states)):
print(f"The capital of {usa_states[i]} is {state_capitals[i]}.")
Результат:
usa_states = ["California", "New York", "Texas"]
state_capitals = ["Sacramento", "Albany", "Austin"]
for i in range(len(usa_states)):
print(f"The capital of {usa_states[i]} is {state_capitals[i]}.")

Таким образом, мы можем использовать диапазон() для одновременного доступа к элементам двух списков Python.
Случай 3: перебор части списка Python с использованием функции range()
С диапазон() функции в Python, мы можем выполнить итерацию по срезу списка Python, определив параметры запуска и остановки диапазона.
диапазон() Функцию можно использовать с параметром шага для выбора каждого n-го элемента из списка Python. Допустим, мы хотим вывести каждый третий элемент из списка компаний Python:
companies = ["Apple", "Microsoft", "Amazon", "Google", "Facebook", "Tesla", "Berkshire Hathaway", "Visa", "J&J", "Walmart"]
for i in range(0, len(companies), 3):
print(companies[i])
Вывод: здесь функция возьмет 1-й элемент и пропустит 2, а затем напечатает 3-й элемент. и будет повторяться до тех пор, пока не достигнет значения остановки.
Apple
Google
Berkshire Hathaway
Walmart

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

Я Биджай Кумар, Microsoft MVP в SharePoint. Помимо SharePoint, последние 5 лет я начал работать над Python, машинным обучением и искусственным интеллектом. За это время я приобрел опыт работы с различными библиотеками Python, такими как Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn и т. д. для различных клиентов в США, Канаде, Великобритании, Австралии, Новая Зеландия и т. д. Проверьте мой профиль.
Ссылка на источник