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

Бизнес

За да добавите елемент към списък (масив) от тип list в Python или да комбинирате друг списък, използвайте методите за списъци 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() можете да комбинирате друг списък или кортеж в края (края). Всички елементи ще бъдат добавени към края на оригиналния списък.

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