77 ПРИМЕЧАНИЕ В квадратные скобки, определяющие сегмент, также можно включить
третье значение . Это значение, если оно присутствует, сообщает Python, сколько эле-
ментов следует пропускать при выборе элементов в заданном диапазоне .
Перебор содержимого сегмента
Если вы хотите перебрать элементы, входящие в подмножество элементов, исполь-
зуйте сегмент в цикле
for
. В следующем примере программа перебирает первых
трех игроков и выводит их имена:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:")
❶
for player in players[:3]:
print(player.title())
Вместо того чтобы перебирать весь список игроков
, Python ограничивается
первыми тремя именами:
Here are the first three players on my team:
Charles
Martina
Michael
Сегменты приносят огромную пользу во многих ситуациях. Например, при соз-
дании компьютерной игры итоговый счет игрока может добавляться в список
после окончания текущей партии. После этого программа может получить три
лучших результата игрока, отсортировав список по уменьшению и получив сег-
мент, включающий только три элемента. При работе с данными сегменты могут
использоваться для обработки данных блоками заданного размера. Или при по-
строении веб-приложения сегменты могут использоваться для постраничного
вывода информации так, чтобы на каждой странице выводился соответствующий
объем информации.
Копирование списка
Часто разработчик берет существующий список и создает на его основе совершенно
новый список. Посмотрим, как работает копирование списков, и рассмотрим одну
ситуацию, в которой копирование списка может принести пользу.
Чтобы скопировать список, создайте сегмент, включающий весь исходный список
без указания первого и второго индекса (
[:]
). Эта конструкция создает сегмент,
который начинается с первого элемента и завершается последним; в результате
создается копия всего списка.
Представьте, что вы создали список своих любимых блюд и теперь хотите создать
отдельный список блюд, которые нравятся вашему другу. Пока вашему другу