Глава 3 • Списки
Метод
append()
в точке
присоединяет строку
'ducati'
в конец списка, другие
элементы в списке при этом остаются неизменными:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
Метод
append()
упрощает динамическое построение списков. Например, вы може-
те начать с пустого списка и добавлять в него элементы серией команд
append()
.
В следующем примере в пустой список добавляются элементы
'honda'
,
'yamaha'
и
'suzuki'
:
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
Полученный список выглядит точно так же, как и списки из предыдущих примеров:
['honda', 'yamaha', 'suzuki']
Такой способ построения списков встречается очень часто, потому что данные,
которые пользователь захочет сохранить в программе, нередко становятся из-
вестными только после запуска программы. Чтобы пользователь мог управлять
содержимым списка, начните с определения пустого списка, а затем присоединяйте
к нему каждое новое значение.
Вставка элементов в список
Метод
insert()
позволяет добавить новый элемент в произвольную позицию спи-
ска. Для этого следует указать индекс и значение нового элемента.
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
В этом примере в точке
значение
'ducati'
вставляется в начало списка. Ме-
тод
insert()
выделяет свободное место в позиции 0 и сохраняет в нем значение
'ducati'
. Все остальные значения списка при этом сдвигаются на одну позицию
вправо:
['ducati', 'honda', 'yamaha', 'suzuki']
Удаление элементов из списка
Нередко возникает необходимость в удалении одного или нескольких элементов
из списка. Например, когда игрок сбивает корабль пришельца, этот корабль нужно
удалить из списка активных врагов. Или когда пользователь решает удалить свою
учетную запись в созданном вами веб-приложении, этот пользователь должен быть
Индексы начинаются с 0, а не с 1
53
убран из списка активных пользователей. Элементы удаляются из списка по по-
зиции или по значению.
Удаление элемента с использованием команды del
Если вам известна позиция элемента, который должен быть удален из списка, вос-
пользуйтесь командой
del
.
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
В точке
вызов
del
удаляет первый элемент,
'honda'
, из списка
motorcycles
:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
Команда
del
позволяет удалить элемент из любой позиции списка, если вам изве-
стен его индекс. Например, вот как из списка удаляется второй элемент
'yamaha'
:
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[1]
print(motorcycles)
Второй элемент исчез из списка:
['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']
В обоих примерах значение, удаленное из списка после использования команды
del
, становится недоступным.
Удаление элемента с использованием метода pop()
Иногда значение, удаляемое из списка, должно как-то использоваться. Допустим,
вы хотите получить координаты
x
и
y
только что сбитого корабля пришельцев, что-
бы изобразить взрыв в этой позиции. В веб-приложении пользователь, удаленный
из списка активных участников, может быть добавлен в список неактивных и т. д.
Метод
pop()
удаляет последний элемент из списка, но позволяет работать с ним
после удаления. Удалим мотоцикл из списка:
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
Сначала в точке
определяется и выводится содержимое списка
motorcycles
.
В точке
значение извлекается из списка и сохраняется в переменной с именем
|