Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Как добавить элементы в список в Python

45462
7 минут чтения
Средний рейтинг статьи: 2

Во многих языках программирования в качестве основной структуры для хранения данных используются массивы. Массив — это упорядоченный набор элементов, имеющих одинаковый тип данных. Однако не во всех язык программирования есть массивы. В частности, в Python вместо массивов используются списки.

Список — это структура данных для хранения объектов с различными типами данных. В каком-то смысле его можно назвать "динамическим" массивом: в Python они практически не накладывают ограничения на количество данных в нём (максимальный размер зависит от параметра sys.maxsize и битности операционной системы) и тип этих данных. 

В рамках этого материала расскажем, как добавить элементы в список Python.

Миграция в то самое облако

Перенесем вашу инфраструктуру в облако — быстро,
безопасно и с гарантией результата.

Предоставим грант до 1 000 000 ₽ на облачную
инфраструктуру и возьмем на себя весь процесс.

Переобъявление

Самый простой и «топорный» способ в Python добавить элемент в список — объявить объект заново:

    
example_list = [10,11,12] print(example_list) example_list = [10,11,12,13] print(example_list)

Вывод:

    
[10, 11, 12] [10, 12, 13, 14]

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

Метод append()

Метод append() поможет вам, если вам требуется добавить новый элемент в список Python. Новый объект размещается в конце. Вот синтаксис этого метода:

AppendList.append(object), где 

  • AppendList — список, в который добавляется элемент;
  • object — новый объект.

Вот пример, как добавить элемент в конец списка Python с помощью append():

    
AppendList= [11,12,13] print(AppendList) AppendList.append(14) print(AppendList) AppendList.append('another type') print(AppendList)

Вывод:

    
[11, 12, 13] [11, 12, 13, 14] [11, 12, 13, 14, 'another type']

В Python добавить элемент в пустой список можно с помощью append():

    
AppendList = [] AppendList.append('timeweb') print(AppendList)

Вывод:

    
['timeweb']

В качестве нового объекта может выступать другой список:

    
AppendList = [11,12,13] AddList = [14,15] AppendList.append(AddList) print(AppendList)

Вывод:

    
[11, 12, 13, [14, 15]]

Мы добавили список AddList именно как объект в список AppendList. Если вам нужно добавить элементы одного списка в другой, то нужно использовать extend().

Метод extend()

Метод extend() позволяет объединить два списка. Вот синтаксис метода:

ExtendList.extend(iterable_object), где

  • ExtendList — список, в который добавляются объекты;
  • iterable_object — объект, чьи элементы будут добавлены в ExtendList.

Перейдем к практической части. Вот как добавить несколько элементов в список Python с помощью extend():

    
ExtendList= [11,12,13] AddList = [14,15] ExtendList.extend(AddList) print(ExtendList)

Вывод:

    
[11, 12, 13, 14, 15]

Также extend() работает с любыми итерируемыми объектами. Что такое итерируемый объект?

Итерируемый объект — это объект, который может возвращать свои элементы по одному. Списки, кортежи, словари, строки — всё это итерируемые объекты. Рассмотрим, как extend() работает с этими объектами:

    
ExtendList = [11,12,13] AddDictionary = {'first': 1, 'second': 2} AddString = 'timeweb.cloud' AddTuple = (14,15,16,17) ExtendList.extend(AddDictionary) print('Extend with dictionary:', ExtendList) ExtendList.extend(AddString) print('Extend with string:', ExtendList) ExtendList.extend(AddTuple) print('Extend with tuple:', ExtendList)

Вывод:

    
Extend with dictionary: [11, 12, 13, 'first', 'second'] Extend with string: [11, 12, 13, 'first', 'second', 't', 'i', 'm', 'e', 'w', 'e', 'b', '.', 'c', 'l', 'o', 'u', 'd'] Extend with tuple: [11, 12, 13, 'first', 'second', 't', 'i', 'm', 'e', 'w', 'e', 'b', '.', 'c', 'l', 'o', 'u', 'd', 14, 15, 16, 17]

Вместо непосредственно extend() можно использовать знак сложения +. Такой способ будет работать точно также:

    
ExtendList = [11,12,13] AddList = [14,15,16] ExtendList+= AddList print(ExtendList) ExtendList = ExtendList + AddList print(ExtendList)

Вывод:

    
[11, 12, 13, 14, 15, 16] [11, 12, 13, 14, 15, 16, 14, 15, 16]

Метод insert()

Чтобы добавить элемент в список Python по индексу, нужно использовать метод insert(). Он помещает элемент на выбранную пользователем позицию. Вот его синтаксис:

InsertList.insert(pos, element), где

  • InsertList — искомый список;
  • pos — первый входной аргумент, позицию нового элемента;
  • element — объект, который хотим добавить.

Вот как в Python добавить элемент в начало списка:

    
InsertList = [11,12,13] InsertList.insert(0,10') print(InsertList)

Вывод:

    
[10, 11, 12, 13]

Другие примеры использования:

    
InsertList = [11,12,13] InsertList.insert(1,'b') print(InsertList) InsertList.insert(4,'c') print(InsertList)

Вывод:

    
[11, 'b', 12, 13] [11, 'b', 12, 13, 'c']

А вот код, как добавить элемент в середину списка Python:

    
InsertList= [11,12,13] InsertList.insert(len(InsertList)//2,'a') print(InsertList) InsertList.insert(len(InsertList)//2,'middle') print(InsertList)

Вывод:

    
[11, 'a', 12, 13] [11, 'a', 'middle', 12, 13]

Если выйти за ограничения длины, то ошибка не произойдет. Python поставит элемент в крайнее левое или правое положение:

    
InsertList= [11,12,13] InsertList.insert(-20,'a') print(InsertList) InsertList.insert(20,'b') print(InsertList)

Вывод:

    
['a', 11, 12, 13] ['a', 11,12, 13, 'b']

Конкатенация

Конкатенация — это операция склеивания нескольких линейных структур, например строк. Результатом конкатенации строк «timeweb.» и «cloud» будет timeweb.cloud, где можно выгодно арендовать облачный сервер.

Конкатенация с помощью символа звездочки *:

    
ConcatenatedList= [11,12,13] new_list = [ConcatenatedList, 14] print(new_list) new_list = [*ConcatenatedList, 14] print(new_list)

Вывод:

    
[[11, 12, 13], 14] [11, 12, 13, 14]

Как видим, в первом случае добавляется объект, а во втором — его содержимое.

Конкатенация с помощью вложенного цикла:

    
FirstList = [11, 12, 13, 14, 15] SecondList = [16, 17, 18] result = [j for i in [FirstList, SecondList] for j in i]  print (result)

Вывод:

    
[11, 12, 13, 14, 15, 16, 17, 18]

Конкатенация с помощью itertools.chain():

    
import itertools 
FirstList = [11,12,13,14,15] 
SecondList = [16,17,18]
result = list(itertools.chain(FirstList, SecondList))

print(result)

Вывод:

    
[11, 12, 13, 14, 15, 16, 17, 18]

Добавления помощью среза 

Для определения одного элемента используются индексы. Для того, чтобы выделить подмножество из списка можно использовать срезы. Срезы встроены в язык в Python и имеют следующий синтаксис:

SliceList[START_POS: STOP_POS: STEP], где

  • SliceList— искомый список;
  • START_POS — индекс первого объекта в выборке;
  • STOP_POS — индекс объекта, обозначающий конец выборки. Сам объект в выборку не входит;
  • STEP — это шаг выборки. Например, если шаг 2, то объекты попадут в выборку через 1.

Вот как срезы можно использовать на практике:

    
SliceList = [0,1,2,3,4,5,6,7,8,9] new_list = SliceList[0:10:2] print(new_list)

Вывод:

    
[0, 2, 4, 6, 8]

В итоге мы получили подмножество элементов на четных индексах. Основное применение срезов — получение выборки из итерируемых объектов. Однако их можно использовать также и для добавления элементов.

С помощью среза в список можно добавить любой итерируемый объект. Элементы можно добавить в конец списка либо заменить ими часть искомого списка. Вот синтаксис такого среза:

    
SliceList[START:] = iterable

где:

  • SliceList— это искомый список;
  • START — позиция, с которой должны идти элементы
  • iterable — это итерируемый объект, элементы которого попадут в список.

Пример со строкой:

    
slice_list = [0,1,2,3,4,5,6,7,8,9] slice_string = 'timeweb' slice_list[len(slice_list):] = slice_string print(slice_list)

Вывод:

    
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 't', 'i', 'm', 'e', 'w', 'e', 'b']

Пример с другим списком:

    
slice_list = [0,1,2,3,4,5,6,7,8,9] slice_list2 = [10,11,12] slice_list[len(slice_list):] = slice_list2 print(slice_list)

Вывод:

    
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Также полезно знать, что срезы можно использовать для замещения части списка:

    
odd_list = [1,1,3,3,5,5,7,7,9,9] even_list = [0,2,4,6,8] odd_list[0:10:2] = even_list print(odd_list)

Вывод:

    
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Разверните облачный сервер в Timeweb Cloud за минуту

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Подведем итоги

В рамках этого материала мы рассмотрели различные способы добавления элементов в список Python. В большинстве случаев вам будет хватать функционала наиболее распространенных методов — extend(), insert() и append(). Однако не лишним будет знать и о других способах. 

45462
7 минут чтения
Средний рейтинг статьи: 2

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев