Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 53

>>> marxes

['Groucho', 'Chico', 'Harpo', 'Gummo', 'Zeppo']

>>> marxes.insert(10, 'Karl')

>>> marxes

['Groucho', 'Chico', 'Harpo', 'Gummo', 'Zeppo', 'Karl']

Удаление заданного элемента

с помощью функции del

Наши консультанты только что проинформировали нас о том, что Гуммо (Gummo)

был одним из братьев Маркс, а Карл (Karl) — не был. Отменим последний ввод:

>>> del marxes[-1]

>>> marxes

['Groucho', 'Chico', 'Harpo', 'Gummo', 'Zeppo']

Когда вы удаляете заданный элемент, все остальные элементы, которые идут

следом за ним, смещаются, чтобы занять место удаленного элемента, а длина спи-

ска уменьшается на единицу. Если вы удалите 'Harpo' из последней версии списка,

то получите такой результат:

>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Gummo', 'Zeppo']

>>> marxes[2]

'Harpo'

>>> del marxes[2]

>>> marxes

['Groucho', 'Chico', 'Gummo', 'Zeppo']

>>> marxes[2]

'Gummo'

del является оператором Python, а не методом списка — нельзя написать marxes[-2].del().

Он похож на противоположную присваиванию (=) операцию: открепляет имя от объекта

Python и может освободить память объекта, если это имя являлось последней ссылкой на

нее.

Списки

77

Удаление элемента по значению

с помощью функции remove()

Если вы не знаете точно или вам все равно, в какой позиции находится элемент,

используйте функцию remove(), чтобы удалить его по значению. Прощай, Гуммо:

>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Gummo', 'Zeppo']

>>> marxes.remove('Gummo')

>>> marxes

['Groucho', 'Chico', 'Harpo', 'Zeppo']

Получение заданного элемента и его удаление

с помощью функции pop()

Вы можете получить элемент из списка и в то же время удалить его с помощью функ-

ции pop(). Если вызовете функцию pop() и укажете некоторое смещение, она возвратит

элемент, находящийся в заданной позиции; если аргумент не указан, будет использо-

вано значение –1. Так, вызов pop(0) вернет головной (начальный) элемент списка,

а вызов pop() или pop(-1) — хвостовой (конечный) элемент, как показано далее:

>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']

>>> marxes.pop()

'Zeppo'

>>> marxes

['Groucho', 'Chico', 'Harpo']