Как перебрать элементы списка python

Списки в Python: полное руководство для начинающих

Представьте, что вы собираетесь заехать за покупками в ближайший супермаркет. Что нужно сделать вначале? Верно! Составить список покупок. А в Python есть структура данных, очень напоминающая такие списки. Собственно, она так и называется — список (англ. list).

Это статья о списках в Python, предназначенная для начинающих. В следующие несколько минут мы познакомимся со списками и рассмотрим самые распространенные операции с ними: срезы и модификации при помощи методов списков.

Итак, давайте погрузимся в тему списков в Python, продолжая проводить аналогии со списками покупок.

Как работают списки

Составляя список покупок, мы записываем нужные нам товары в столбик. В таком виде список легко узнаваем именно как список покупок.

Чтобы Python понял, что имеет дело со списком, нужно заключить все элементы в квадратные скобки ( [] ). Сами элементы при этом разделяются запятыми.

Вот пример создания списка из 6 элементов (пускай это будут товары, которые мы хотим купить).

Изменяемость списков в Python

Имея дело со списком покупок, мы свободно можем его изменять. Например, вычеркнуть овсяное печенье и добавить любимые конфеты. Точно так же можно изменять и списки в Python. Таким образом, списки — изменяемый тип данных.

Вот как можно заменить oatmeal cookies на candy :

Индексация списков в Python

Попытавшись обратиться к элементу по несуществующему индексу, мы получим ошибку — IndexError.

В нашем примере у нас есть список покупок из 6 элементов (диапазон индексов 0-5). Как показано в коде ниже, если мы попытаемся обратиться к элементу под индексом 6, мы получим ошибку, потому что элемента с таким индексом просто нет.

Так же, как список покупок может содержать любые товары (фрукты, овощи, сладости и т. п.), список в Python может содержать элементы любого типа.

Таким образом, список вполне может содержать в себе другие списки в качестве элементов. Это называется вложенностью, а подобные списки — вложенными.

Вот пример вложенного списка покупок, содержащего два списка поменьше:

Как перебирать список в цикле

Если бы нам нужно было не вывести элементы списка, а что-нибудь сделать с каждым из них, лучше было бы использовать range — чтобы получить индексы, а затем перебрать их в цикле.

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

Общий шаблон срезов таков:

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

Давайте посмотрим на это в коде:

Операции со списками в Python

Поскольку наш shopping_list содержит только строки, min() возвращает строку, которая шла бы первой, если бы список был упорядочен в алфавитном порядке. max() возвращает строку, которая шла бы последней.

Посмотрим на это в коде:

Мы можем создавать новые списки, объединяя уже существующие — так же, как можем объединять списки покупок.

Методы списков в Python

Помимо уже названных встроенных функций Python имеет еще и несколько специальных методов для работы со списками. С помощью этих методов можно осуществлять разные полезные операции.

Давайте подумаем о списках покупок. Какие операции мы с ними проделываем чаще всего?

Как добавлять элементы в список

Что, если бы мы захотели добавить в список элементы из другого списка (или другого итерируемого объекта)? Вместо того чтобы добавлять их по одному, мы можем воспользоваться методом extend() и добавить все элементы одного объекта в другой.

Оператор + создает новый список, комбинируя списки, указанные в качестве операндов. А методы append() и extend() изменяют список, для которого они вызваны, и не возвращают новых списков.

Как удалять элементы из списка

Мы можем удалять элементы из списка по одному или даже группами.

Если бы мы хотели удалить элемент под определенным индексом, этот индекс можно было бы передать в метод pop() в качестве аргумента.

При этом можно указать как индекс элемента, который нужно удалить, так и срез — чтобы удалить все элементы в указанном диапазоне.

Предположим, мы знаем, какой именно товар в списке покупок мы передумали покупать, но не знаем, какой у него индекс. В подобных случаях можно воспользоваться методом remove() и удалить элемент по значению.

Примечание. При попытке удалить элемент, которого нет в списке, мы получим ValueError.

Сортировка списков в Python

Итоги

Из этой статьи вы узнали, как создавать списки, как брать срезы, как добавлять и удалять элементы из списков, а также — как сортировать списки.

Источник

11 Мощных методов Итерации по списку в Python

Итерация по списку в python означает прохождение каждого элемента по одному в данном списке. Мы узнаем 11 способов ее достижения.

11 Мощных методов Итерации по списку в Python

Здравствуйте, коллеги программисты в сегодняшней статье мы узнаем, как перебирать список в Python. Мы обсудим около 11 мощных способов итерации или циклического перебора списка с помощью Pytho n. Вы можете выбрать лучший метод в соответствии с вашими потребностями или эффективностью процесса. Так что давайте сразу перейдем к делу и начнем путешествие.

Если вы новичок в программировании, вы можете не знать о таких терминах, как итерация и списки. Так что для вас позвольте мне объяснить эти термины тоже на очень простом непрофессиональном языке.

Итерация: Часто в алгоритме набор операторов должен выполняться снова и снова, пока не будет выполнено определенное условие; именно здесь мы находим необходимость в итерации. Повторное выполнение нескольких групп операторов кода в программе называется итерацией.

List: В программировании на Python список создается путем помещения всех элементов (компонентов ) в квадратные скобки [], разделенные запятыми. Он может иметь любое количество вещей, и они могут быть разных типов (integer, float, string и т. Д.). Список может также иметь другой список как вещь. Это называется вложенным списком.

Надеюсь, вы понимаете, что такое список и итерация в python. Давайте рассмотрим 11 способов Перебирать список в Python, которые мы изучаем сегодня.

Способы Итерации по списку в Python

В этом уроке мы подробно обсудим все 11 способов перебора списка в python, которые заключаются в следующем:

1. Перебирайте список в Python, Используя For Loop2. Итерация по Списку в Python С Помощью While Loop3. Итерация по Списку в Python С Помощью Модуля Numpy4. Итерация по Списку в Python С Использованием Метода Enumerate5. Итерация по Списку в Python С Использованием Понимания списка6. Итерация по списку в Python С использованием цикла и диапазона7. Перебирайте список в Python С помощью Map и Lambda8. Перебирайте список в Python С помощью Iter() и Next()9. Перебирайте список в Python С Помощью zip()10. Перебирайте список в Python С помощью Itertools.Цикл11. Итерация по списку в Python с помощью Itertools Grouper

1. Итерация по Списку в Python с Помощью цикла For

Выполнение итерации в списке с использованием цикла for-это самый простой и основной способ достижения нашей цели. Как вы можете обнаружить в этой статье, используя какую-то поисковую систему, находя способ перебора списка в Python. Поэтому я предполагаю, что у вас уже есть базовые знания о петлях. Поэтому я не демонстрирую здесь циклы for.

Синтаксис

Пример

Выход

Объяснение

В приведенном выше примере программы мы сначала инициализировали и создали список с именем list. Список содержит шесть элементов, которые являются [9, 11, 13, 15, 17, 19] соответственно. А затем мы инициализировали простой цикл for в списке, который будет повторяться до конца списка и в конечном итоге печатать все элементы один за другим. Для печати в python мы просто используем функцию print (), как вы уже знаете.

2. Итерация по Списку в Python с Помощью цикла While

Второй способ перебора списка в python-это использование цикла while. В while loop способе итерации списка мы будем следовать аналогичному подходу, как мы наблюдали в нашем первом способе, то есть методу for-loop. Мы должны просто найти длину списка в качестве дополнительного шага.

Синтаксис

Пример

Выход

Объяснение

В приведенном выше примере программы мы сначала инициализировали и создали список с именем list. Список содержит шесть элементов, которые являются [9, 11, 13, 15, 17, 19] соответственно. После этого мы должны найти длину списка, найти длину списка в цикле while важно, потому что мы должны проверить условия. Как вы, возможно, уже знаете, цикл while проходит только в том случае, если условия истинны. Вот почему нам нужно найти длину списка, в данном случае длина равна шести, поэтому цикл будет повторяться шесть раз. И мы также объявили и инициализировали переменную ‘i’ с начальным значением ‘0’.

Переходя к циклу while, мы впервые проверили условие, которое истинно. Как и изначально, значение ‘i’ равно ‘0’, а длина списка равна ‘6’. Таким образом, он проверяет ‘0 nditer() – это вспомогательная функция, которая может использоваться от очень простых до очень продвинутых итераций. Это упрощает некоторые фундаментальные проблемы, с которыми мы сталкиваемся в итерации. href=”http://numpy.org/doc/stable/reference/generated/numpy.nditer.html”>nditer() – это вспомогательная функция, которая может использоваться от очень простых до очень продвинутых итераций. Это упрощает некоторые фундаментальные проблемы, с которыми мы сталкиваемся в итерации.

Нам также нужна другая функция для перебора списка в Python с помощью numpy, которая является numpy.arrange().numpy.arange возвращает равномерно распределенные значения в пределах заданного интервала. Значения генерируются в пределах полуоткрытого интервала [start, stop) (другими словами, интервала, включающего start, но исключающего stop).

Синтаксис:

Примеры

Давайте рассмотрим различные способы итерации по списку с помощью модуля numpy.

Пример 1:

Выход

Объяснение

В приведенном выше примере 1 программа np.arange(10) создает последовательность целых чисел от 0 до 9 и сохраняет ее в переменной x. После этого мы должны запустить цикл for, и, используя этот цикл for и np.nditer(x), мы будем перебирать каждый элемент списка один за другим.

Пример 2:

В этом примере мы будем итерировать 2d-массив с помощью модуля numpy. Для достижения нашей цели нам здесь нужны три функции.

Выход:

Объяснение:

Большая часть этого примера похожа на наш первый пример, за исключением того, что мы добавили дополнительную функцию numpy.reshape(). Функция numpy.reshape() обычно используется для придания формы нашему массиву или списку. В основном на непрофессиональном языке он преобразует размеры массива-как в этом примере мы использовали функцию reshape(), чтобы сделать массив numpy 2D-массивом.

4. Итерация по Списку в Python С Помощью Метода Enumerate

Четвертый способ в нашем списке-это итерация с использованием метода enumerate. Если вы не знаете, что именно enumerate делает в python, то позвольте мне объяснить вам.Метод enumerate() добавляет счетчик к итерируемому объекту и возвращает его. И что бы ни возвращал метод enumerate, это будет объект enumerate.

Основное преимущество использования метода enumerate заключается в том, что вы можете преобразовать объекты enumerate в list и tuple с помощью методов list() и tuple() соответственно.

Синтаксис

Метод enumerate() принимает два параметра:

Пример

Выход

Объяснение

Здесь, таким образом, для итерации списка мы использовали метод enumerate. Сначала мы инициализировали и создали список. Список содержит семь элементов. После создания списка мы используем цикл for здесь для циклического перебора каждого элемента списка. Переменная ‘i’ здесь используется для подсчета количества раз, когда выполняется цикл for. Функция enumerate(list) здесь будет перебирать каждый элемент в списке, а также выводить число, включающее индекс каждого элемента.

5. Итерация по Списку в Python С Использованием Понимания списка

В этом методе итерации мы будем использовать способ понимания списка. Понимание списка используется для создания мощной функциональности в одной строке кода.

Синтаксис

Понимание списка обычно состоит из трех параметров.

Пример

Выход

Объяснение

Это самый простой способ перебора списка, поскольку Python включает в себя простые и мощные инструменты, которые вы можете использовать в самых разных ситуациях. Здесь, в этом примере, print(i) является выражением. Второй ‘i’ – это элемент, который является значением iterable. И, наконец, итерируемый, в приведенном выше примере итерируемый-это список.

6. Итерация по списку в Python С использованием цикла и диапазона

Шестой метод итерации по списку – это использование диапазона и любого цикла в Python. Метод range можно использовать как комбинацию с циклом for для обхода и итерации по списку. Функция range() возвращает последовательность цифр, начинающуюся с 0 (по умолчанию) и по умолчанию увеличивающуюся на 1, и останавливается перед указанным числом.

Синтаксис

начало(Необязательно). Конкретное число, с которого нужно начать. Значение по умолчанию равно 0
остановка(Обязательно). Номер, указывающий, в какой позиции остановиться (не входит в комплект).
шаг(Необязательно). шаг используется для указания приращения. Значение по умолчанию-1.

Примечание: Метод range не включает стоп-номер в результирующую последовательность.

Пример

Выход

Объяснение

Здесь в приведенном выше примере сначала мы инициализировали и создали список с элементами [10, 20, 30, 40, 50, 60, 70]. После этого мы должны найти длину списка с помощью функции len. Список длины равен 7, поэтому теперь значение переменной length равно 7.

7. Перебирайте список в Python С помощью Map и Lambda

Лямбда-функция-это анонимная функция в Python. С помощью лямбда-функции мы можем взять n количество аргументов, но будет только одно выражение. Сила лямбды лучше проявляется, когда вы используете их как анонимную функцию внутри другой функции.

Функция map() выполняет указанную функцию в итеративном режиме.

Синтаксис

Здесь выражение будет выполнено, и результат будет возвращен. аргументы: может быть n аргументов числа.

Синтаксис функции map ()

функцияТребуемый.
итерируемыйТребуемый. Последовательность списка, коллекции или объекта итератора.

Пример

Выход

Объяснение

В приведенном выше примере мы использовали комбинацию функций lambda и map для итерации списка. Здесь lambda y:y предоставляется в качестве входной функции, а ‘n’ является вторым аргументом функции map (). Таким образом, функция map() передаст каждый элемент n в функцию lambda y:y и вернет элементы.

8. Повторите список в Python с помощью zip()

Если вы хотите перебирать два списка одновременно, вы можете использовать метод zip() в Python. Таким образом, функция zip() создает итератор, который будет агрегировать элементы из двух или более итераций.

Функция zip() в Python генерирует объект zip, который является итератором кортежей.

Синтаксис

итератор1, итератор2, итератор3 …Объекты итератора, которые будут объединены вместе

Пример

Выход

Объяснение

В приведенном выше примере мы перебираем серию кортежей, возвращаемых zip(), и распаковываем элементы в a и b. Параметры функции zipping () в данном случае являются (num, daypart) и они будут агрегированы вместе.

При объединении zip(), для Циклы и распаковка кортежей позволяют одновременно проходить две или более итераций.

9. Выполните Итерацию списка в Python С помощью итераторов – Iter() и Next()

Для итерации списка с помощью итераторов в python мы будем использовать методы __iter()__ и __next ()__. В Python __iter__() и __next__() совместно известны как протокол итератора.

Итераторы обычно реализуются в циклах, постижениях, генераторах и т. Д. Это просто объект, который может быть повторен (по одному элементу за раз). Внутренне цикл for создает объект iterator, iter_obj, вызывая iter() для iterable.

Синтаксис

Синтаксис функции __iter ()__

Здесь iterable может быть списком, кортежем, строкой и т. Д. Функция iter() (которая вызывает метод __iter__()) возвращает итератор.

Синтаксис функции __next ()__

Next(Iter_obj) – это то же самое, что obj.next(). Здесь iter_obj может быть любым итеративным объектом, созданным функцией iter ().

Пример

Выход

Объяснение

В приведенном выше примере сначала мы создали итеративный (список) с элементами [10, 20, 30, 40, 50, 60, 70]. Затем мы получаем итератор с помощью функции iter() и сохраняем его в переменной iter_obj. После этого мы инициализировали бесконечный цикл while и использовали функцию next() для перебора всех элементов итератора. Когда мы дойдем до конца и больше не будем возвращать данные, это вызовет исключение StopIteration.

Внутренне цикл for создает объект итератора iter_obj, вызывая iter() на итераторе. Но на практике цикл for на самом деле является бесконечным циклом while.

10. Выполните Итерацию списка в Python С Помощью Itertools.Цикл

Itertools-это библиотека, которая создает эффективные итераторы. Эти итераторы работают быстрее, чем обычная итерация. В этом разделе мы будем использовать itertools.cycle для выполнения итерации по списку. Эта функция цикла возвращает бесконечный итератор, который повторяет список снова и снова. Мы настроим это на повторение только один раз.

Синтаксис

Здесь iterable может быть списком, кортежем, строкой и т. Д. Метод itertools.cycle() возвращает бесконечный итератор.

Пример

Выход

Объяснение

В приведенном выше примере мы сначала импортировали itertools. Затем мы использовали метод itertools.cycle() для создания бесконечного итератора. Затем мы ограничиваем количество раз, когда мы проходим через итератор, используя счетчик. После этого с помощью цикла while перебирайте итератор и увеличивайте количество в каждом цикле. Это гарантирует, что наш итератор не будет бесконечно петлять.

Itertools.cycle в основном используется для создания бесконечно циклического итератора. Это очень полезно в сценариях, где вам нужно создать бесконечный цикл без использования while.

11. Итерация по Списку в Python С помощью Itertools Grouper

В этом разделе используйте itertools.zip_longest для создания группера. Grouper-это функция, с помощью которой мы можем группировать элементы списка и перебирать их. Это может быть полезно, если вы хотите повторить 2-3 элемента в каждой партии вашей итерации.

Синтаксис

iterable_objectТребуемый. Последовательность списка, коллекции или объекта итератора.
считатьТребуемый. Количество элементов, группируемых в пакет.
fillvalueНеобязательный. Значение заполнения для заполнения пакета, если итератор закончил работу до заполнения пакета.

Пример

Выход

Объяснение

В этом примере мы сначала импортировали модуль zip_longest из itertools. zip_longest – это метод, который агрегирует элементы из каждой итерации. Затем мы создаем функцию grouper. Эта функция принимает итерацию в качестве аргумента и количество элементов для группировки вместе. В этом случае, поскольку мы хотим выполнить итерацию по всему списку, мы сохраним значение count равным 1. 3-й аргумент-fillvalue, этот аргумент используется для заполнения оставшихся значений, если пакет меньше, чем count.Затем мы вызовем функцию grouper get iterable. Мы будем перебирать этот итератор, чтобы получить отдельные элементы из списка.

Примечание: Не забудьте распаковать элемент с помощью*, потому что zip_longest возвращает итератор кортежей.

Вывод: Python Перебирает Список

Поэтому, если вы сделаете это до конца, я почти уверен, что теперь вы сможете понять все возможные способы перебора списка в Python. Наилучший способ итерации Python по списку зависит от ваших потребностей и типа проекта, который вы делаете. Я думаю, что вы также можете захотеть узнать, как в Python сортировать список списков. Если да, то в нашей библиотеке учебников есть потрясающий учебник, проверьте его.

Все еще есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Источник

Списки Python

Python включает ряд последовательных типов данных, которые позволяют хранить коллекции данных организованным и эффективным способом. Основные типы последовательностей — это списки, кортежи и объекты диапазона.

В этой статье рассматриваются списки Python. Мы покажем вам, как создать список, разрезать и отсортировать список, добавить или удалить элементы из списка и т. Д.

Списки представляют собой изменяемые последовательности, что означает, что они могут быть изменены после создания. Списки являются одним из наиболее часто используемых типов данных в Python и обычно используются для хранения коллекций элементов одного типа.

Создание списка

Квадратные скобки без элементов между ними обозначают пустой список:

Хотя списки Python обычно однородны, у вас могут быть элементы со смешанными типами данных:

Вы также можете объявить вложенные списки, в которых один или несколько элементов также являются списками:

Несколько элементов могут иметь одно и то же значение:

Доступ к элементам списка

На элемент списка можно ссылаться по его индексу. Индексы являются целыми числами и начинаются от 0 до n-1 где n — количество элементов:

В Python индексы заключаются в квадратные скобки:

Например, для доступа ко второму элементу списка вы должны использовать:

Если вы ссылаетесь на несуществующий индекс, IndexError исключение IndexError :

Для доступа к элементам во вложенном списке используйте несколько индексов:

Например, чтобы получить доступ ко второму элементу с конца, вы должны использовать:

Нарезка списка

В Python вы можете разрезать список, используя следующую форму:

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

Все следующее является допустимым синтаксисом Python:

Ниже приведен базовый пример того, как разрезать список, начиная с элемента с индексом 1 и заканчивая элементом с индексом 4, но не включая его:

Обновление значения элемента

Чтобы изменить значение определенного элемента в списке, обратитесь к его порядковому номеру:

Вот пример, показывающий, как обновить значение последнего элемента списка:

Если элемент с данным индексом существует, значение обновляется. В противном случае IndexError исключение IndexError :

Вы также можете обновить часть списка новыми значениями:

Замещающий блок может иметь меньшее, большее или такое же количество элементов, как и список. Это позволяет расширять или сжимать список.

Добавление элементов в список

Метод append() добавляет элемент в конец списка. Синтаксис метода append() следующий:

«Element» — это элемент, который нужно добавить в список. Это может быть любой тип данных, включая список. Вот пример:

Метод insert() рекламирует элемент в определенной позиции в списке и имеет следующий синтаксис:

«Index» — это позиция, в которую вы хотите вставить элемент, а «element» — это элемент, который нужно добавить в список. В следующем примере показано, как добавить элемент в список на первой позиции:

Метод extend() позволяет расширить список несколькими элементами. Он принимает единственный аргумент и имеет следующий синтаксис:

Элементы «списка» добавляются в конец «L». Вот пример:

Удаление элементов из списка

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

Если элемент с данным значением не существует, возникает исключение ValueError :

Метод pop() принимает один аргумент и удаляет элемент с индексом, соответствующим аргументу, из списка:

Аргумент является необязательным. По умолчанию используется значение «-1», которое является последним элементом списка. Возвращаемое значение метода — удаленный элемент. Вот пример:

Ключевое слово del в сочетании с обозначением среза позволяет удалить более одного элемента. Например, чтобы удалить первые два элемента из списка, вы должны использовать следующее:

Найдите длину списка

Встроенная функция len() возвращает общее количество элементов объекта.

Чтобы узнать длину списка, передайте его в качестве аргумента функции len() :

Итерация по списку

Чтобы перебрать все элементы в списке, используйте цикл for :

В приведенном ниже примере показано, как получить индекс и значение каждого элемента в списке:

Вместо использования шаблона range(len(. )) вы можете использовать функцию enumerate() для enumerate() списка более питоническим способом:

Проверить, существует ли элемент

Чтобы проверить, существует ли элемент в списке, вы можете использовать операторы in и not in :

Результатом будет True или False :

Вот еще один пример с использованием оператора if :

Результатом будет True или False :

Списки Python

Объекты списка принимают следующие методы:

Выводы

В этой статье мы обсудили, как создавать списки и работать со списками в Python.

Тип данных списка включает ряд полезных методов.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *