В языках программирования, в том числе в Python, есть символы, числа и классы. А есть коллекции, к которым относятся структуры данных, — массивы и списки. Как раз о последних мы и хотим поговорить с вами сегодня, потому как именно списки называют одними из самых важных объектов в Python.
Статья будет особенно полезной для тех, кто уже находится в процессе освоения Python и в том числе проходит наш курс «Основы Python с нуля до функционального проекта». Мы будем работать с примерами, поэтому рассчитываем, что у вас уже установлена среда разработки Python.
Списки в Python — это упорядоченные наборы объектов, нумерация которых начинается с 0. В списке могут содержаться разные объекты — от целых чисел до строк. Кроме того, внутри списков могут храниться дополнительные списки.
У каждого элемента в списке есть свой номер, благодаря которому можно быстро обратиться именно к нему. Схематически это выглядит следующим образом:
Здесь важно добавить, что в одном списке могут содержаться данные разных типов. К примеру, строки и числа:
Важное преимущество списков в Python — их можно менять буквально на ходу. Вы можете удалять отдельные элементы, добавлять новые, менять их местами и так далее. Главное — сохранять нумерацию, чтобы можно было обращаться к этим элементам. При этом когда вы добавляете объект, Python автоматически выделяет под него память. А когда удаляете — высвобождает ее.
Давайте для лучшего понимания перейдем к практической части!
Существует несколько способов создания списка в Python:
Выглядит это следующим образом:
Здесь стоит еще раз напомнить, что нумерация в списках Python начинается с нуля. То есть, если вы используете команду print(numbers[0]), на экран будет выведена единица.
В данном случае список формируется таким образом:
Помимо прочего можно задействовать специальные генераторы списков, с помощью которых вы можете применять заданные выражения к каждому элементу в последовательности. К примеру, вы хотите создать список (list), в котором содержатся числа от 1 до 5. Это будет выглядеть вот так:
Как и было сказано выше, в Python можно использовать вложенные списки. Это делается путем использование квадратных скобок внутри других квадратных скобок:
То есть, мы получаем объект, который состоит из чисел 1 и 2, а также вложенного списка с числами 3 и 4. Ничего сложного, правда? Главное — не забывать закрывать все квадратные скобки.
Хранение данных в списках — это удобно. Но какая в этом практическая польза для разработчика? А польза в том, что с такими списками можно осуществлять множество самых разных операций. Наиболее популярные из них мы и рассмотрим далее.
В Python есть 4 простые встроенные функции, с помощью которых можно узнать длину списка, выполнить его сортировку, возвращать минимальное и максимальное значение. Рассмотрим эти функции на примерах!
Кстати, есть несколько способов, с помощью которых можно автоматизировать процесс создания списков. Например, вот так легко можно сформировать простой список со значениями:
Есть и более сложный вариант. Например, можно указать определенные условия для генерации элементов:
Благодаря срезам вы можете получить определенное подмножество значений. Например, используя следующий код, вы можете вернуть список с элементами, начиная с 0-индекса, но исключив индекс 2 и выше:
Похожим образом можно вывести все, кроме элемента на третьей позиции:
А вот так можно вывести все, начиная с 1 и до конца:
Для списков создано довольно много методов. Рассмотрим некоторые из них с примерами кода.
Однако вам не обязательно использовать дефолтный метод сортировки. Можно, например, выполнить сортировку в обратном порядке — от большего к меньшему:
Списки — это очень удобная структура данных, позволяющая работать с итерируемыми объектами. На первый взгляд может быть не совсем понятно, какое у них практическое применение и в каких случаях их нужно использовать. Но давайте представим простой пример. Допустим, вы хотите написать скрипт, который будет автоматически проверять, является ли определенная модель автомобиля разработкой компании Tesla.
Для решения этой задачи как раз отлично и подходит работа со списками:
То есть, мы довольно легко написали простой скрипт, автоматизирующий задачу и экономящий немного времени. А ведь это весьма примитивный пример. Списки в Python открывают просто колоссальные возможности. Но чтобы эффективно работать с ними, необходимо потратить время на изучение теории и практические задачи.
Напоследок давайте закрепим самое главное из нашей статьи:
Напоследок хотим дать вам небольшой совет: больше практики!
Чтобы запомнить все принципы работы со списками и быстрее разобраться в их логике, постарайтесь повторить все перечисленные выше примеры. Уверены, никаких особых сложностей у вас не возникнет. В дальнейшем вы сможете перейти к более сложным примерам и задачам. А впоследствии будете находить новые, порой самые неожиданные способы применения Python-списков в своей работе.