В прошлый раз мы говорили про функции в языке Python. Сегодня поговорим про особенности работы с такими структурами, как списки в Python. Читайте далее про особенности работы со списками в популярном языке программирования Python.
Что представляют собой списки в Python
Список в Python — это позиционной упорядоченная коллекция (у каждого элемента в списке позиция характеризуется порядковым номером, то есть индексом) объектов произвольных типов. Списки не имеют фиксированных размеров (размер может ограничиваться разве что памятью компьютера) [1]. Кроме того, списки являются изменяемыми — в отличие от строк списки можно модифицировать на месте путем присваивания по смещениям и вызова разнообразных списковых методов (например, replace(), append(), clear()
и т.д.). Исходя из этого, списки в Python являются очень гибким инструментом для представления произвольных коллекций, например, перечня файлов в каталоге, сотрудников в компании, сообщений в ящике входящей почты и т.д.
Работа со списками в Python: несколько практических примеров
Списки, как и строки в Python, являются последовательностями, а значит работа со списками представляет собой процесс преобразования последовательности. Каждый список имеет фиксированную длину, которая характеризуется количеством элементов в нем. Для того, чтобы узнать длину текущего списка существует функция len()
[1]:
l = [123, 'hello', 1.23] len(l) #3
В Python также существует возможность индексации списков, создание нового списка путем удаления элемента из старого, а также конкатенация списков [1]:
l[0] #Индексация по позиции. Вывод: 123 l[:-1] # Возвращение нового списка путем удаления последнего элемента. #[123, ‘hello’] l + [4,5,6] #Конкатенация также создает новый список #[123, 'hello', 1.23, 4, 5, 6]
Python-списки могут напоминать массивы в других языках (а также коллекции в Java), но в отличие от массивов, у списков отсутствует ограничение на принадлежность элементов к какому-либо фиксированному типу. Кроме того, как уже отмечалось выше, списки не имеют фиксированного размера, то есть они могут увеличиваться и уменьшаться в ответ на применение соответствующих функций без каких-либо ограничений. В качестве примера рассмотрим добавление элемента в конец списка. За это отвечает метод append()
, который не возвращает новый список, а лишь увеличивает текущий, добавляя указанный элемент в конец списка [1]:
l.append('nlist') #[123, 'hello', 1.23, 'nlist']
В Python также существует возможность добавления элемента в список в произвольную (указывается самостоятельно) позицию. За это отвечает метод insert()
, который в качестве параметров принимает номер позиции для вставки и добавляемый элемент:
l = [123, 'hello', 1.23] l.insert(1, 'inserted') #[123, 'inserted', 'hello', 1.23]
Метод pop()
является еще одним методом модификации и служит для удаления элемента из списка по индексу [1]:
l = [123, 'hello', 1.23] l.pop(1) #[123, 1.23]
Удалять элемент также можно по его значению. За удаление элемента из списка по значению отвечает метод remove()
:
l = [123, 'hello', 1.23] #[123, 'hello', 1.23] l.remove(123) #['hello', 1.23]
Поскольку списки являются изменяемыми, большинство списковых методов модифицируют объект текущего списка на месте без создания нового такого объекта. Например, метод sort()
отвечает за сортировку (упорядочивает список по возрастанию) и, тем самым, изменение текущего объекта списка [1]:
l=['hello', 'list', 'apple', 'inserted'] l.sort() l #['apple', 'hello', 'inserted', 'list']
Однако стоит заметить, что метод sort()
работает только для тех списков, которые состоят из элементов одного типа [1]:
l=[123, 'list', 0.25, 'inserted'] l.sort() l
Еще один метод, способный изменять список путем изменения позиций его элементов — это revese(), который обращает список (разворачивает его наоборот по отношению к первоначальному виду):
l=[123, 'list', 0.25, 'inserted'] l.reverse() l # ['inserted', 0.25, 'list', 123]
Таким образом, благодаря спискам, язык Python обеспечивает разработчика возможностью гибкой работы с разнородными данными. Это делает Python универсальным и надежным средством для работы с производительными приложениями, а также с Big Data обработкой.
Графовые алгоритмы. Бизнес-приложения
Код курса
GRAF
Ближайшая дата курса
по запросу
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.
Освоить Python на профессиональном уровне в разработчика различных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Python в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
- DPREP: Подготовка данных для Data Mining на Python
- Разработка и внедрение ML-решений
- Графовые алгоритмы. Бизнес-приложения
- Нейронные сети на Python
- NLP с Python
Источники
- Лутц, Марк. Изучаем Python, том 1, 5-е изд.: Пер. с англ. — СПб.: ООО “Диалектика”, 2019. — 832 с. : ил. — Парад, тит. англ.