Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!
Многие сложные алгоритмы анализа данных построены из простых строительных блоков.
Сегодняшняя тема - списки Python.
Большинство людей сначала изучают инструменты, а затем применяют их на нескольких примерах. Я иду противоположным путем - сначала сосредотачиваюсь на проблемах, а попутно изучаю инструменты, методы и функции для их решения. Таким образом, сегодняшняя статья разбита на следующие небольшие части:
- что такое списки и как их создавать
- как добавлять / удалять элементы
- как получить доступ к элементам списка и, наконец,
- какие операции над ними выполнять
Что такое список?
Начнем со знакомого примера - списка покупок.
Яблоко, банан, молоко, сахар, соль - это список покупок, который я могу записать на листе бумаги или в блокноте мобильного телефона.
Теперь, когда у вас есть список покупок, что вы можете сделать с ним или с ним? На самом деле несколько вещей:
- добавьте «яйца», потому что вы это забыли
- удалите «яблоко», когда вы его купили
- доступ к следующему элементу в списке, если вы находитесь в разделе фруктов
Вот способ хранения продуктов в Python:
Таким образом, список - это не что иное, как информация, хранящаяся в определенном формате, который программа понимает и с которым может работать.
Для выполнения этих задач существуют определенные встроенные методы и функции, и в этой статье мы увидим, как использовать некоторые из них:
Список методов: append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse(), copy()
Встроенные функции: sum(), min(), max(), len(), enumerate(), map(), filter(), lambda(), set(), sorted(), zip()
Создадим список
Поскольку мы начинаем с нуля, давайте построим новый с произвольными числами:
Иногда люди создают искусственные списки с помощью встроенной функции Python range ().
Теперь, когда у нас есть список, давайте поиграем с ним.
Добавление в список
Есть несколько способов добавить новые элементы в список. С помощью метода append () вы можете добавить элемент 99 в конец списка:
Или с помощью метода insert () вы можете добавить 99 в желаемое место, скажем, в позицию 0.
Что делать, если вы хотите добавить другой список - [99, 100] - к существующему списку, вместо отдельного элемента?
Подводя итог, мы только что научились использовать три метода: append (), insert (), extend () для добавления новых элементов в разные позиции в существующем списке.
Удаление из списка
После изучения того, как добавлять новые элементы, естественно, следующая тема - как удалять элементы. Мы сделаем это двумя способами - pop () и remove ().
Метод pop () удаляет элементы по их положению. Например, если мы хотим удалить элемент, который находится в позиции 0:
Аналогичным образом, чтобы удалить элемент в позиции 2:
Вы также можете выбрать позицию с противоположной стороны. Скажем, чтобы удалить элемент, который находится на 2-й последней позиции:
Другой метод удаления элемента называется remove (). Он удаляет элементы не по положению, а по их значениям. Вот как это работает:
Еще одна вещь: вы также можете заменить (то есть изменить) значение существующего элемента в списке новым. Допустим, заменив 10 на 99:
И, наконец, по какой-либо причине, если вы решите удалить список, для этого также есть метод - del ():
Доступ к элементам списка
Теперь, когда вы знаете, как создавать и редактировать списки, следующий шаг, естественно, - что с ними делать. Но прежде чем вы сможете выполнять какие-либо операции, вам нужно сначала получить доступ к элементам, верно? Список из 5 элементов, которые мы использовали до сих пор, легко визуализировать, но что, если их тысячи или даже миллионы? Что делать, если вы точно не знаете, что ищете?
Ниже мы увидим несколько примеров того, как использовать позиции индекса для доступа к элементам списка.
Что, если это вложенный список (список в списке), и вам нужно получить доступ к элементу изнутри?
То, что здесь происходит, просто: вы применяете поэтапный подход - сначала обращаетесь к [33, 34], которая оказывается в позиции 2, а затем получаете доступ к 33 из позиции 0 в этом списке.
Нарезка: вместо доступа к отдельному элементу вам может потребоваться доступ к диапазону элементов - процесс, называемый нарезкой. Общий формат нарезки таков:
Давайте воспользуемся этим форматом, чтобы разрезать список разными способами:
Так же:
Методы и функции
Пока что мы посмотрели некоторые основы - создание, редактирование и доступ к элементам списка. Но это пока не решает никаких проблем и не дает пользователям много информации.
Чтобы сгенерировать информацию, нам нужно применить методы и функции к списку.
Список методов: append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse(), copy()
Некоторые из этих методов мы уже применяли выше, остальные вы можете попробовать самостоятельно, чтобы увидеть, как они работают.
Давайте перейдем к встроенным функциям Python, они будут весьма полезны на каждом этапе вашего пути к науке о данных и аналитике.
Встроенные функции: sum(), min(), max(), len(), set(), sorted(), enumerate(), map(), filter(), lambda(), zip()
Первые 4 функции выше не требуют пояснений и могут применяться следующими способами:
Следующие два метода -set(), sorted() - тоже весьма полезны.
set() возвращает только уникальные значения в списке, поэтому, если есть дубликаты, он вернет только одно из них.
sorted() с другой стороны, вернет отсортированный список (от низкого к высокому или наоборот и т. д.).
Специальные функции
Стандартная библиотека Python также имеет некоторые специальные функции. Мы рассмотрим 4 из них - enumerate (), map (), filter (), lambda ().
enumerate()
Учитывая список mylist = [‘hello’, ‘world’], функция enumerate () найдет позицию индекса каждого элемента:
map()
Функция map () принимает два входа - функцию и итерируемый объект - а затем выполняет функцию для объекта и возвращает результат в виде итерируемого объекта. Вот его общая формулировка:
Давайте посмотрим, как мы можем его использовать, шаг за шагом:
filter()
Подобно функции map (), filter () также принимает функцию и повторяемый объект. Однако функция, которую он принимает, возвращает только логические значения - True или False. Затем функция проверяет каждый элемент в итерации на предмет их истинности или ложности и, наконец, возвращает отфильтрованный объект.
Так, например, если мы хотим отфильтровать нечетные числа списка [1,2,3,4,5], функция filter () вернет [1,3,5]. Вот как это работает, шаг за шагом:
lambda
Последняя функция, с которой вы очень часто столкнетесь при программировании, - это лямбда-функция. Обычно, когда мы пишем функцию, мы даем ей имя и многократно используем его в различных случаях. Обычная функция, возвращающая квадрат числа, выглядит так:
Напротив, лямбда-функция не имеет имени и является одноразовой функцией, используемой в операции. Вот как мы конвертируем my_square_func () выше в лямбда-выражение:
Каковы его варианты использования?
В обоих вышеупомянутых функциях map () и filter () мы должны были выполнить ряд шагов, чтобы получить окончательный результат, потому что сначала нам нужно было создать функции. lambda () пригодится в обоих случаях. Вот два варианта использования:
Резюме
Подводя итог, в этой статье мы рассмотрели довольно много вещей:
- определение и создание списков;
- добавление новых элементов с помощью методов append (), insert (), extension ();
- удаление элементов методами pop (), remove ();
- доступ к элементам списка путем индексации и нарезки;
- применение встроенных функций Python enumerate (), map (), filter (), а также лямбда-функции для выполнения операций со списками.
Есть немало других методов и функций, которые я не упомянул в этой статье, но те, которые мы здесь использовали, часто используются. Надеюсь, эта статья была полезной. Если у вас есть комментарии, запишите их ниже.