del sequence[i] # или sequence.pop(i)
sequence
- изменяемая последовательность, list
или bytearray
,i
- указывает на индекс в последовательности, целое число.del
ничего не возвращает.sequence.pop(i)
возвращает значение значение удаляемого элемента.Операция del sequence[i]
или sequence.pop(i)
позволяет удалить элемент ПО ИНДЕКСУ из последовательности.
Вышеуказанные операции удаляют элемент последовательности sequence
по индексу i
. Индекс i
может принимать отрицательные значения, в этом случае элементы последовательности sequence
считаются с конца.
Если производится попытка удалить элемент НЕИЗМЕНЯЕМОЙ последовательности (например str
или bytes
), то поднимается исключение TypeError
При удалении значение индекса i
находится за пределами длины последовательности len(sequence)
вызывается исключение IndexError
.
Операции удаления элемент по индексу поддерживаются только изменяемыми типами последовательностей.
Примечание. Удалить элемент изменяемой последовательности ПО ЗНАЧЕНИЮ x
можно методом sequence.remove(x)
.
>>> x = [2, 0, 3, 12, 'foo', 15, 100, 18] >>> del x[0] >>> x # [0, 3, 12, 'foo', 15, 100, 18] # метод изменяемой последовательности # sequence.pop() возвращает удаляемый элемент >>> x.pop(4) # 15 >>> x # [0, 3, 12, 'foo', 100, 18] >>> del x[-1] >>> x # [0, 3, 12, 'foo', 100] >>> x.pop(-3) # 12 >>> x # [0, 3, 'foo', 100] # Индекс за пределами длины последовательностями >>> del x[10] # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # IndexError: list assignment index out of range