list.insert()

Метод insert() вставляет элемент в указанную позицию списка, сдвигая все последующие элементы на одну позицию вправо. Сложность операции линейная (O(n)) — для частых вставок в начало используйте collections.deque.

Сигнатура

list.insert(i, x)

Параметры

  • i — индекс позиции, в которую вставить элемент. insert(0, x) вставляет в начало, insert(len(lst), x) — в конец (эквивалент append). Отрицательные индексы поддерживаются (отсчёт с конца).

  • x — вставляемое значение (любого типа).

Возвращаемое значение

None. Список модифицируется на месте.

Примеры использования

Пример 1. Вставка в середину.

queue = ["Айдос", "Бахыт", "Дина"]
queue.insert(2, "Серик")
print(queue)
['Айдос', 'Бахыт', 'Серик', 'Дина']

Пример 2. Вставка в начало.

data = [20, 30, 40]
data.insert(0, 10)
print(data)
[10, 20, 30, 40]

Пример 3. Индекс больше длины — добавление в конец.

При выходе за границы исключение не возникает: значение просто помещается в конец или в начало:

items = [1, 2, 3]
items.insert(99, 4)
items.insert(-99, 0)
print(items)
[0, 1, 2, 3, 4]

Пример 4. Отрицательный индекс.

Отрицательный индекс -1 вставляет перед последним элементом, не вместо него:

row = ["A", "B", "D"]
row.insert(-1, "C")
print(row)
['A', 'B', 'C', 'D']

Пример 5. Поддержание отсортированного списка через bisect.

При работе с уже отсортированным списком эффективнее использовать bisect.insort:

import bisect
sorted_list = [10, 20, 40, 50]
bisect.insort(sorted_list, 30)
print(sorted_list)
[10, 20, 30, 40, 50]

См. также

  • list.append() — добавление в конец

  • list.extend() — добавление нескольких элементов

  • list.pop() — удаление по индексу

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.