9,3K подписчиков

Работа со списками Python: шпаргалка

376 прочитали

Методы, функции и варианты использования списков Python

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!

Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!

Многие сложные алгоритмы анализа данных построены из простых строительных блоков.

Сегодняшняя тема - списки Python.

Большинство людей сначала изучают инструменты, а затем применяют их на нескольких примерах. Я иду противоположным путем - сначала сосредотачиваюсь на проблемах, а попутно изучаю инструменты, методы и функции для их решения. Таким образом, сегодняшняя статья разбита на следующие небольшие части:

  • что такое списки и как их создавать
  • как добавлять / удалять элементы
  • как получить доступ к элементам списка и, наконец,
  • какие операции над ними выполнять

Что такое список?

Начнем со знакомого примера - списка покупок.

Яблоко, банан, молоко, сахар, соль - это список покупок, который я могу записать на листе бумаги или в блокноте мобильного телефона.

Теперь, когда у вас есть список покупок, что вы можете сделать с ним или с ним? На самом деле несколько вещей:

  • добавьте «яйца», потому что вы это забыли
  • удалите «яблоко», когда вы его купили
  • доступ к следующему элементу в списке, если вы находитесь в разделе фруктов

Вот способ хранения продуктов в Python:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-2

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

Для выполнения этих задач существуют определенные встроенные методы и функции, и в этой статье мы увидим, как использовать некоторые из них:

Список методов: append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse(), copy()

Встроенные функции: sum(), min(), max(), len(), enumerate(), map(), filter(), lambda(), set(), sorted(), zip()

Создадим список

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-3

Иногда люди создают искусственные списки с помощью встроенной функции Python range ().

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-4

Теперь, когда у нас есть список, давайте поиграем с ним.

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

Есть несколько способов добавить новые элементы в список. С помощью метода append () вы можете добавить элемент 99 в конец списка:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-5

Или с помощью метода insert () вы можете добавить 99 в желаемое место, скажем, в позицию 0.

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-6

Что делать, если вы хотите добавить другой список - [99, 100] - к существующему списку, вместо отдельного элемента?

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-7

Подводя итог, мы только что научились использовать три метода: append (), insert (), extend () для добавления новых элементов в разные позиции в существующем списке.

Удаление из списка

После изучения того, как добавлять новые элементы, естественно, следующая тема - как удалять элементы. Мы сделаем это двумя способами - pop () и remove ().

Метод pop () удаляет элементы по их положению. Например, если мы хотим удалить элемент, который находится в позиции 0:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-8

Аналогичным образом, чтобы удалить элемент в позиции 2:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-9

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-10

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-11

Еще одна вещь: вы также можете заменить (то есть изменить) значение существующего элемента в списке новым. Допустим, заменив 10 на 99:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-12

И, наконец, по какой-либо причине, если вы решите удалить список, для этого также есть метод - del ():

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-13

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

Теперь, когда вы знаете, как создавать и редактировать списки, следующий шаг, естественно, - что с ними делать. Но прежде чем вы сможете выполнять какие-либо операции, вам нужно сначала получить доступ к элементам, верно? Список из 5 элементов, которые мы использовали до сих пор, легко визуализировать, но что, если их тысячи или даже миллионы? Что делать, если вы точно не знаете, что ищете?

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-14

Что, если это вложенный список (список в списке), и вам нужно получить доступ к элементу изнутри?

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-15

То, что здесь происходит, просто: вы применяете поэтапный подход - сначала обращаетесь к [33, 34], которая оказывается в позиции 2, а затем получаете доступ к 33 из позиции 0 в этом списке.

Нарезка: вместо доступа к отдельному элементу вам может потребоваться доступ к диапазону элементов - процесс, называемый нарезкой. Общий формат нарезки таков:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-16

Давайте воспользуемся этим форматом, чтобы разрезать список разными способами:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-17

Так же:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-18

Методы и функции

Пока что мы посмотрели некоторые основы - создание, редактирование и доступ к элементам списка. Но это пока не решает никаких проблем и не дает пользователям много информации.

Чтобы сгенерировать информацию, нам нужно применить методы и функции к списку.

Список методов: append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse(), copy()

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

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

Встроенные функции: sum(), min(), max(), len(), set(), sorted(), enumerate(), map(), filter(), lambda(), zip()

Первые 4 функции выше не требуют пояснений и могут применяться следующими способами:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-19

Следующие два метода -set(), sorted() - тоже весьма полезны.

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-20

sorted() с другой стороны, вернет отсортированный список (от низкого к высокому или наоборот и т. д.).

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-21

Специальные функции

Стандартная библиотека Python также имеет некоторые специальные функции. Мы рассмотрим 4 из них - enumerate (), map (), filter (), lambda ().

enumerate()

Учитывая список mylist = [‘hello’, ‘world’], функция enumerate () найдет позицию индекса каждого элемента:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-22

map()

Функция map () принимает два входа - функцию и итерируемый объект - а затем выполняет функцию для объекта и возвращает результат в виде итерируемого объекта. Вот его общая формулировка:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-23

Давайте посмотрим, как мы можем его использовать, шаг за шагом:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-24

filter()

Подобно функции map (), filter () также принимает функцию и повторяемый объект. Однако функция, которую он принимает, возвращает только логические значения - True или False. Затем функция проверяет каждый элемент в итерации на предмет их истинности или ложности и, наконец, возвращает отфильтрованный объект.

Так, например, если мы хотим отфильтровать нечетные числа списка [1,2,3,4,5], функция filter () вернет [1,3,5]. Вот как это работает, шаг за шагом:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-25

lambda

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-26

Напротив, лямбда-функция не имеет имени и является одноразовой функцией, используемой в операции. Вот как мы конвертируем my_square_func () выше в лямбда-выражение:

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-27

Каковы его варианты использования?

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

Методы, функции и варианты использования списков Python
Написав несколько статей по таким темам, как эконометрика, логистическая регрессия и регуляризация, я вернулся к основам!-28

Резюме

Подводя итог, в этой статье мы рассмотрели довольно много вещей:

  • определение и создание списков;
  • добавление новых элементов с помощью методов append (), insert (), extension ();
  • удаление элементов методами pop (), remove ();
  • доступ к элементам списка путем индексации и нарезки;
  • применение встроенных функций Python enumerate (), map (), filter (), а также лямбда-функции для выполнения операций со списками.

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