Во многих языках программирования в качестве основной структуры для хранения данных используются массивы. Массив — это упорядоченный набор элементов, имеющих одинаковый тип данных. Однако не во всех язык программирования есть массивы. В частности, в Python вместо массивов используются списки.
Список — это структура данных для хранения объектов с различными типами данных. В каком-то смысле его можно назвать "динамическим" массивом: в Python они практически не накладывают ограничения на количество данных в нём (максимальный размер зависит от параметра sys.maxsize и битности операционной системы) и тип этих данных.
В рамках этого материала расскажем, как добавить элементы в список Python.
Миграция в то самое облако
безопасно и с гарантией результата.
Предоставим грант до 1 000 000 ₽ на облачную
инфраструктуру и возьмем на себя весь процесс.
Переобъявление
Самый простой и «топорный» способ в Python добавить элемент в список — объявить объект заново:
Вывод:
Останавливаться на этом методе смысла нет и полезен он будет только в том случае, если вы забыли абсолютно все альтернативные способы.
Метод append()
Метод append() поможет вам, если вам требуется добавить новый элемент в список Python. Новый объект размещается в конце. Вот синтаксис этого метода:
AppendList.append(object), где
- AppendList — список, в который добавляется элемент;
- object — новый объект.
Вот пример, как добавить элемент в конец списка Python с помощью append():
Вывод:
В Python добавить элемент в пустой список можно с помощью append():
Вывод:
В качестве нового объекта может выступать другой список:
Вывод:
Мы добавили список AddList именно как объект в список AppendList. Если вам нужно добавить элементы одного списка в другой, то нужно использовать extend().
Метод extend()
Метод extend() позволяет объединить два списка. Вот синтаксис метода:
ExtendList.extend(iterable_object), где
- ExtendList — список, в который добавляются объекты;
- iterable_object — объект, чьи элементы будут добавлены в ExtendList.
Перейдем к практической части. Вот как добавить несколько элементов в список Python с помощью extend():
Вывод:
Также extend() работает с любыми итерируемыми объектами. Что такое итерируемый объект?
Итерируемый объект — это объект, который может возвращать свои элементы по одному. Списки, кортежи, словари, строки — всё это итерируемые объекты. Рассмотрим, как extend() работает с этими объектами:
Вывод:
Вместо непосредственно extend() можно использовать знак сложения +. Такой способ будет работать точно также:
Вывод:
Метод insert()
Чтобы добавить элемент в список Python по индексу, нужно использовать метод insert(). Он помещает элемент на выбранную пользователем позицию. Вот его синтаксис:
InsertList.insert(pos, element), где
- InsertList — искомый список;
- pos — первый входной аргумент, позицию нового элемента;
- element — объект, который хотим добавить.
Вот как в Python добавить элемент в начало списка:
Вывод:
Другие примеры использования:
Вывод:
А вот код, как добавить элемент в середину списка Python:
Вывод:
Если выйти за ограничения длины, то ошибка не произойдет. Python поставит элемент в крайнее левое или правое положение:
Вывод:
Конкатенация
Конкатенация — это операция склеивания нескольких линейных структур, например строк. Результатом конкатенации строк «timeweb.» и «cloud» будет timeweb.cloud, где можно выгодно арендовать облачный сервер.
Конкатенация с помощью символа звездочки *:
Вывод:
Как видим, в первом случае добавляется объект, а во втором — его содержимое.
Конкатенация с помощью вложенного цикла:
Вывод:
Конкатенация с помощью itertools.chain():
Вывод:
Добавления помощью среза
Для определения одного элемента используются индексы. Для того, чтобы выделить подмножество из списка можно использовать срезы. Срезы встроены в язык в Python и имеют следующий синтаксис:
SliceList[START_POS: STOP_POS: STEP], где
- SliceList— искомый список;
- START_POS — индекс первого объекта в выборке;
- STOP_POS — индекс объекта, обозначающий конец выборки. Сам объект в выборку не входит;
- STEP — это шаг выборки. Например, если шаг 2, то объекты попадут в выборку через 1.
Вот как срезы можно использовать на практике:
Вывод:
В итоге мы получили подмножество элементов на четных индексах. Основное применение срезов — получение выборки из итерируемых объектов. Однако их можно использовать также и для добавления элементов.
С помощью среза в список можно добавить любой итерируемый объект. Элементы можно добавить в конец списка либо заменить ими часть искомого списка. Вот синтаксис такого среза:
где:
- SliceList— это искомый список;
- START — позиция, с которой должны идти элементы
- iterable — это итерируемый объект, элементы которого попадут в список.
Пример со строкой:
Вывод:
Пример с другим списком:
Вывод:
Также полезно знать, что срезы можно использовать для замещения части списка:
Вывод:
Разверните облачный сервер в Timeweb Cloud за минуту
477 ₽/мес
657 ₽/мес
Подведем итоги
В рамках этого материала мы рассмотрели различные способы добавления элементов в список Python. В большинстве случаев вам будет хватать функционала наиболее распространенных методов — extend(), insert() и append(). Однако не лишним будет знать и о других способах.
