Добавление элементов в список (массив) в Python: append(), extend(), insert()

Бизнес

Чтобы добавить элемент в список (массив) типа list в Python или объединить другой список, используйте методы list append(), extend() и insert(). Вы также можете использовать оператор + или slice, чтобы указать позицию и присвоить ее.

Здесь представлена следующая информация.

  • Добавьте элементы в конце:append()
  • Объединить другой список или кортеж в конце (конкатенация): extend(),+оператор
  • Добавить (вставить) элемент в указанную позицию.:insert()
  • Добавить (вставить) другой список или кортеж в указанную позицию:нарезать

Добавьте элементы в конце: append()

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

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Списки также добавляются как один элемент. Они не объединяются.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Объединить другой список или кортеж в конце (конкатенация): extend(), +оператор

С помощью метода списка extend() можно объединить другой список или кортеж в конце (end). Все элементы будут добавлены к концу исходного списка.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

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

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Также можно выполнять конкатенацию, используя оператор + вместо метода extend().

+ оператор, возвращается новый список.+=Это также позволит вам добавить его в существующий список.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Добавить (вставить) элемент в указанную позицию.: insert()

Метод списка insert() может добавить (вставить) элемент в указанную позицию.

Первый аргумент задает позицию, а второй — вставляемый элемент. Первой (начальной) позицией является 0; для отрицательных значений последней (конечной) позицией является -1.

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Как и в append(), список добавляется как один элемент. Он не будет объединен.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Обратите внимание, что insert() не является эффективной операцией, поскольку требует следующих затрат. Вычислительная сложность различных операций со списками приведена на следующей странице официальной вики.
O(n)

O(1)
Тип deque предоставляется в модуле коллекций стандартной библиотеки как тип для добавления элементов к вершине за эту стоимость. Например, если вы хотите рассматривать данные как очередь (FIFO), эффективнее использовать deque.

Добавить (вставить) другой список или кортеж в указанную позицию: нарезать

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

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

Можно также заменить исходный элемент. Все элементы в указанном диапазоне будут заменены.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Copied title and URL