Списки
75
И наконец, рассмотрим прием инверсии списка:
>>> marxes[::-1]
['Harpo', 'Chico', 'Groucho']
Добавление элемента в конец списка
с помощью метода append()
Традиционный способ добавления элементов в список — вызов метода append(),
чтобы добавить их в конец списка. В предыдущих примерах мы забыли о Zeppo, но
ничего страшного не случилось, поскольку список можно изменить. Добавим его
прямо сейчас:
>>> marxes.append('Zeppo')
>>> marxes
['Groucho', 'Chico', 'Harpo', 'Zeppo']
Объединяем списки с помощью метода extend()
или оператора +=
Можно объединить один список с другим с помощью метода extend(). Предполо-
жим, что добрый человек дал нам новый список братьев Маркс, который называ-
ется others, и мы хотим добавить его в основной список marxes:
>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']
>>> others = ['Gummo', 'Karl']
>>> marxes.extend(others)
>>> marxes
['Groucho', 'Chico', 'Harpo', 'Zeppo', 'Gummo', 'Karl']
Можно также использовать оператор +=:
>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']
>>> others = ['Gummo', 'Karl']
>>> marxes += others
>>> marxes
['Groucho', 'Chico', 'Harpo', 'Zeppo', 'Gummo', 'Karl']
Если бы мы использовали метод append(), список others был бы добавлен как
один элемент списка, вместо того чтобы объединить его элементы со списком marxes:
>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']
>>> others = ['Gummo', 'Karl']
>>> marxes.append(others)
>>> marxes
['Groucho', 'Chico', 'Harpo', 'Zeppo', ['Gummo', 'Karl']]
76
Глава 3. Наполнение Python: списки, кортежи, словари и множества
Это снова демонстрирует, что список может содержать элементы разных типов.
В этом случае — четыре строки и список из двух строк.
Добавление элемента с помощью функции insert()
Функция append() добавляет элементы только в конец списка. Когда вам нужно
добавить элемент в заданную позицию, используйте функцию insert(). Если вы
укажете позицию 0, элемент будет добавлен в начало списка. Если позиция нахо-
дится за пределами списка, элемент будет добавлен в конец списка, как и в случае
с функцией append(), поэтому вам не нужно беспокоиться о том, что Python сгене-
рирует исключение:
>>> marxes.insert(3, 'Gummo')