Как удалить элемент списка или вставить элемент в произвольное место

Допустим есть такой список:

>>> a = [1,2,3,4,5,6,7,8,9]

И мы хотим удалить из него элемент с индексом 3, имеющий значение 4. Если попытаться это сделать так:

>>> a[3] = []

, то получима совсем не то, что надо:

>>> a
[1, 2, 3, [], 5, 6, 7, 8, 9]

Другими словами, число 4 было заменено на пустой список.

Однако если указать срез из одного элемента и присвоить ему пустой список, то все сработает:

>>> a[3:4] = []
>>> a
[1, 2, 3, 5, 6, 7, 8, 9]

Еще один вариант, но более длинный — сложить два среза, исключив элемент, который требуется удалить:

>>> a = a[:3] + a[4:]
>>> a
[1, 2, 3, 6, 7, 8, 9]

Ну и наконец самый простой, но не самый очевидный способ:

>>> del a[1]
>>> a
[1, 3, 6, 7, 8, 9]

Вставить можно так:

>>> a
[3, 6, 7, 8, 9]
>>> a[2:2] = [12]
>>> a
[3, 6, 12, 7, 8, 9]

Вставляется список в то место, где находится второй элемент, но не доходя до него. Срез [2:2] — пустой срез.

Вставка с помощью метода insert():

>>> a = [1,2,3,4]
>>> a.insert(1,'a')
>>> a
[1, 'a', 2, 3, 4]
>>> a.insert(1,[10,12])
>>> a
[1, [10, 12], 'a', 2, 3, 4]

  Python функции времени: работа с датами, временем и интервалами
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x