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

['Harpo', 'Groucho']

Списки

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')