Как Итерировать (Циклически Проходить) По Списку в Python
В этом уроке вы узнаете, как выполнять итерации (или циклы) по списку в Python. Вы научитесь использовать циклы for, циклы while, понимания (comprehensions) и многое другое. Более того, вы узнаете, когда каждый из этих методов является наилучшим для использования. Учитывая, что существует множество различных способов достижения этого, понимание того, какой метод использовать, может быть полезным.
Списки Python являются одной из основных структур данных в языке. Они упорядочены и индексируемы, что означает, что их порядок важен и что вы можете получать доступ к элементам на основе их порядка. Они также гетерогенны, что означает, что они могут содержать множество различных типов данных. Благодаря их универсальности, умение работать с ними является важным навыком для любого уровня Python
К концу этого урока вы узнаете:
Как перебирать списки Python, используя циклы
for
,while
и пониманияКак улучшить итерацию с помощью функции
range()
и функцииenumerate()
Как перебирать несколько списков в Python
Как перебирать списки и манипулировать ими в Python
Оглавление
Руководство по перебору списка в Python
В таблице ниже представлены различные способы перебора списка в Python. Чтобы узнать больше о каждом из этих методов, продолжайте читать для более глубокого изучения.
for loop
Самая простая реализация и понятная для других
while loop
Может быть прервано при заданном условии
list comprehension
Самый питонический
range()
Может использоваться для доступа только к нескольким элементам
enumerate()
Может получить доступ как к индексу, так и к элементу
zip()
Может перебирать несколько списков поэлементно
map()
Может перебирать и манипулировать элементами списка.
Один из самых простых способов перебрать список в Python - это использовать цикл for. Цикл for позволяет вам итерировать по итерируемому объекту (например, списку) и выполнять данное действие. Этот подход интуитивно понятен, поскольку он проходит через каждый элемент в списке (если явно не остановлен).
Как перебрать список в Python с помощью цикла For
For
Давайте рассмотрим пример того, как мы можем перебирать список чисел в Python с использованием цикла for:
Мы можем перебирать каждый элемент списка, используя любое имя итератора, которое нам нравится. В данном случае мы используем слово number
, чтобы сделать наш код более чистым для написания и чтения.
Как перебирать список в Python с помощью цикла while
while
В этом разделе вы узнаете, как осуществлять перебор списка в Python с помощью цикла while. Если цикл for является примером определенной итерации, то цикл while является примером неопределенной итерации. Это означает, что цикл будет продолжать итерации до тех пор, пока не будет остановлен.
Давайте посмотрим, как мы можем использовать цикл while в Python, чтобы перебрать каждый элемент списка, рассмотрев пример:
Давайте разберем, что мы здесь сделали:
Мы создали список
numbers
, который содержит все наши числа.Мы затем создали индексное значение
i
, которое установили в нольЗатем мы создали цикл
while
, который продолжается до тех пор, пока значениеi
меньше длины списка.В нашем цикле мы выводим i-й индекс списка
Наконец, мы увеличиваем значение
i
на 1 с использованием оператора расширенного присваивания
Как перебирать список в Python с помощью функции List Comprehension
В этом разделе вы узнаете уникальный способ перебора каждого элемента в списке. Компрехенсии в Python — это компактный способ итерации по списку. В основном они используются для создания списков, как с нуля, так и путем модификации элементов внутри списка.
Давайте посмотрим, как мы можем использовать понимание списка в Python для перебора списка. В этом примере мы используем понимание списка, чтобы напечатать каждый элемент списка. Для большего количества примеров использования этих мощных структур.
Как перебирать список с элементами индекса, используя диапазон Range
Иногда вам может понадобиться итерировать по списку, получая доступ как к элементу, так и к индексу элемента. Для этого мы можем использовать функцию range()
. Я включил этот метод в описание в основном для полноты картины, так как в следующем разделе вы узнаете о более удобном способе выполнения этой задачи с помощью функции enumerate()
Однако, это общепринятый способ итерации по списку в Python с одновременным доступом к индексу и элементу. Давайте посмотрим, как это выглядит:
Как перебирать список с помощью enumerate
Точно так же, как в показанном выше примере, мы можем легко перебирать каждый элемент в списке и получать доступ к его индексу, используя функцию enumerate()
в Python. Функция enumerate()
возвращает как индекс, так и элемент, что означает, что вы можете легко распаковать их в вашем цикле.
Для получения более подробной информации об функции enumerate()
, ознакомьтесь с моим подробным руководством. Давайте посмотрим, как это выглядит:
Как перебирать несколько списков Python поэлементно
В этом разделе вы научитесь одновременно итерировать по нескольким спискам в Python с использованием функции zip()
. Эта функция позволяет вам итерировать одновременно по нескольким спискам, то есть доступ к первому элементу каждого списка происходит одновременно, затем ко второму и так далее.
Давайте рассмотрим пример того, как мы можем одновременно перебирать два списка:
Давайте разберем, что мы здесь сделали:
Мы определили два списка, оба содержат числа
Мы затем получили доступ к числам из обоих списков в объекте
zip
, возвращенном в результате их совмещения.Затем мы распечатали оба эти значения
В следующем разделе вы узнаете, как выполнять итерацию по элементам списка и управлять ими.
Как перебирать и манипулировать списками Python
В этой заключительной секции вы научитесь использовать функцию map()
в Python для итерации по элементам списка и их преобразования с помощью функции трансформации. Функция принимает объект функции трансформации и список в качестве входных данных и возвращает измененный список.
Чтобы узнать больше о функции map()
в Python, ознакомьтесь с моим подробным руководством здесь. Давайте рассмотрим пример:
Давайте разберем, что мы здесь сделали:
Мы создали список чисел
Мы создали новый список
transformed
, который конвертирует результат функцииmap
в список. Функцияmap
использует анонимную функцию (lambda), которая умножает каждое значение на 2. Функция затем применяет эту функцию преобразования к каждому элементу в списке,numbers
.
Заключение
В этом учебном пособии вы научились итерировать (или выполнять цикл) по списку в Python различными способами. Вы узнали, какой метод лучше всего подходит для каждой ситуации. Вы научились использовать цикл for, цикл while и понятие спискового включения. Затем вы научились использовать функцию range()
и функцию enumerate()
для итерации по спискам и индексам. Наконец, вы узнали, как итерировать по двум спискам поэлементно, а также как итерировать и трансформировать элементы списка.
Дополнительные ресурсы
Чтобы узнать больше о связанных темах, ознакомьтесь с обучающими материалами ниже:
Функция карты Python: преобразование итераций без циклов
Перечисление Python: цикл Python со счетчиками индексов
Учебное пособие по циклу Python For – все, что вам нужно знать!
Списки Python: полный обзор
Last updated