Работа
с частью списка
73
Работа с частью списка
В главе 3 вы узнали, как обращаться к отдельным элементам списка, а в этой главе
мы занимались перебором всех элементов списка. Также можно работать с конкрет-
ным подмножеством элементов списка; в Python такие подмножества называются
срезами
(slices).
Создание среза
Чтобы создать срез списка, следует задать индексы первого и последнего элементов,
с которыми вы намереваетесь работать. Как и в случае с функцией
range()
, Python
останавливается на элементе, предшествующем второму индексу. Скажем, чтобы
вывести первые три элемента списка, запросите индексы с 0 по 3, и вы получите
элементы 0, 1 и 2.
В следующем примере используется список игроков команды:
players.py
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
В точке
выводится срез списка, включающий только первых трех игроков. Вывод
сохраняет
структуру списка, но включает только первых трех игроков:
['charles', 'martina', 'michael']
Подмножество может включать любую часть списка. Например, чтобы ограничить-
ся вторым, третьим и четвертым элементами списка, срез начинается с индекса 1
и заканчивается на индексе 4:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1:4])
На этот раз срез начинается с элемента
'martina'
и заканчивается элементом
'florence'
:
['martina', 'michael', 'florence']
Если первый индекс среза не указан, то Python автоматически начинает срез
от начала списка:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[:4])
Без начального индекса Python берет элементы от начала списка:
['charles', 'martina', 'michael', 'florence']
Аналогичный синтаксис работает и для срезов, включающих конец списка. Напри-
мер, если вам нужны все элементы с третьего до последнего, начните с индекса 2
и не указывайте второй индекс:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[2:])