>>> extinct_birds = ['dodo', 'passenger pigeon', 'Norwegian Blue']
>>> carol_birds = [3, 'French hens', 2, 'turtledoves']
>>> all_birds = [small_birds, extinct_birds, 'macaw', carol_birds]
Как же будет выглядеть список списков all_birds?
>>> all_birds
[['hummingbird', 'finch'], ['dodo', 'passenger pigeon', 'Norwegian Blue'], 'macaw',
[3, 'French hens', 2, 'turtledoves']]
Взглянем на его первый элемент:
>>> all_birds[0]
['hummingbird', 'finch']
Первый элемент является списком — это список small_birds, он указан как
первый элемент списка all_birds. Вы можете догадаться, чем является второй
элемент:
>>> all_birds[1]
['dodo', 'passenger pigeon', 'Norwegian Blue']
74
Глава 3. Наполнение Python: списки, кортежи, словари и множества
Это второй указанный нами элемент, extinct_birds. Если нужно получить первый
элемент списка extinct_birds, мы можем извлечь его из списка all_birds, указав два
индекса:
>>> all_birds[1][0]
'dodo'
Индекс [1] ссылается на второй элемент списка all_birds, а [0] — на первый
элемент внутреннего списка.
Изменение элемента с помощью
конструкции [смещение]
По аналогии с получением значения списка с помощью его смещения вы можете
изменить это значение:
>>> marxes = ['Groucho', 'Chico', 'Harpo']
>>> marxes[2] = 'Wanda'
>>> marxes
['Groucho', 'Chico', 'Wanda']
Опять же смещение должно быть корректным для заданного списка.
Вы не можете изменить таким способом символ в строке, поскольку строки не-
изменяемы. Списки же можно изменить. Можете изменить количество элементов
в списке, а также сами элементы.
Отрежьте кусочек — извлечение элементов
с помощью диапазона смещений
Можно извлечь из списка подпоследовательность, использовав разделение списка:
>>> marxes = ['Groucho', 'Chico,' 'Harpo']
>>> marxes[0:2]
['Groucho', 'Chico']
Такой фрагмент списка также является списком.
Как и в случае со строками, при разделении можно пропускать некоторые зна-
чения. В следующем примере мы извлечем каждый нечетный элемент:
>>> marxes[::2]
['Groucho', 'Harpo']
Теперь начнем с последнего элемента и будем смещаться влево на 2:
>>> marxes[::-2]