УПРАЖНЕНИЯ
2-11 . Дзен Python: введите команду import this в терминальном сеансе Python и просмотри-
те другие принципы .
Итоги
В этой главе вы научились работать с переменными. Вы узнали, как использовать
содержательные имена переменных и как исправлять ошибки в именах и синтак-
сические ошибки в случае их возникновения. Вы узнали, что такое строки и как
выводить их в нижнем/верхнем регистре и с капитализацией всех слов. Мы рас-
смотрели способы аккуратного оформления вывода с применением пропусков,
а также удаления лишних пропусков из разных частей строки. Вы начали работать
с целыми и вещественными числами и узнали о некоторых неожиданностях, встре-
чающихся при работе с числовыми данными. Вы научились писать содержательные
комментарии, которые упрощают написание кода для вас и его чтение для других
разработчиков. В завершение главы была представлена философия максимальной
простоты кода.
В главе 3 рассматривается хранение наборов данных в переменных, называемых
списками. Вы узнаете, как перебрать содержимое списка и обработать хранящуюся
в нем информацию.
3
Списки
В этой и следующей главах вы узнаете, что собой представляют списки и как
начать работать с элементами списка. Списки позволяют хранить в одном месте
взаимосвязанные данные, сколько бы их ни было — несколько элементов или
несколько миллионов элементов. Работа со списками относится к числу самых
выдающихся возможностей Python, доступных для начинающего программиста.
Операции со списками связывают воедино многие важные концепции в про-
граммировании.
Что такое список?
Список — это набор элементов, следующих в определенном порядке. Вы можете
создать список для хранения букв алфавита, цифр от 0 до 9 или имен всех членов
вашей семьи. В список можно поместить любую информацию, причем данные
в списке даже не обязаны быть как-то связаны друг с другом. Так как список обыч-
но содержит более одного элемента, рекомендуется присваивать спискам имена
во множественном числе:
letters
,
digits
,
names
и т. д.
В языке Python список обозначается квадратными скобками (
[]
), а отдельные
элементы списка разделяются запятыми. Простой пример списка с названиями
моделей велосипедов:
bicycles.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
Если вы прикажете Python вывести список, то на экране появится перечисление
элементов списка в квадратных скобках:
['trek', 'cannondale', 'redline', 'specialized']
Конечно, вашим пользователям такое представление не подойдет; разберемся, как
обратиться к отдельным элементам в списке.
Обращение к элементам списка
Списки представляют собой упорядоченные наборы данных, поэтому для обраще-
ния к любому элементу списка следует сообщить Python позицию (индекс) нужного
Индексы начинаются с 0, а не с 1 49
элемента. Чтобы обратиться к элементу в списке, укажите имя списка, за которым
следует индекс элемента в квадратных скобках.
Например, название первого велосипеда в списке
bicycles
выводится следующим
образом:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
Синтаксис обращения к элементу показан в точке . Когда мы запрашиваем один
элемент из списка, Python возвращает только этот элемент без квадратных скобок
или кавычек:
trek
Именно такой результат должны увидеть пользователи — чистый, аккуратно от-
форматированный вывод.
Также можно использовать строковые методы из главы 2 с любым элементом
списка. Например, элемент
'trek'
можно более аккуратно отформатировать
при помощи метода
title()
:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0].title())
Этот пример выдает такой же результат, как и предыдущий, только название
'Trek'
выводится с прописной буквы.
Индексы начинаются с 0, а не с 1
Python считает, что первый элемент списка находится в позиции 0, а не в позиции 1.
Этот принцип встречается в большинстве языков программирования и объясняется
особенностями низкоуровневой реализации операций со списками. Если вы полу-
чаете неожиданные результаты, определите, не допустили ли вы простую ошибку
«смещения на 1».
Второму элементу списка соответствует индекс 1. В этой простой схеме индекс
любого элемента вычисляется уменьшением на 1 его позиции в списке. Напри-
мер, чтобы обратиться к четвертому элементу списка, следует запросить элемент
с индексом 3.
В следующем примере выводятся названия велосипедов с индексами 1 и 3:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[1])
print(bicycles[3])
При этом выводится второй и четвертый элементы списка:
cannondale
specialized
В Python также существует специальный синтаксис для обращения к последнему
элементу списка. Если запросить элемент с индексом –1, Python всегда возвращает
последний элемент в списке:
50 Глава 3 • Списки
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])
Фрагмент вернет значение
'specialized'
. Этот синтаксис весьма полезен, потому
что при работе со списками часто требуется обратиться к последним элементам,
не зная точное количество элементов в списке. Синтаксис также распространяется
на другие отрицательные значения индексов. Индекс –2 возвращает второй эле-
мент от конца списка, индекс –3 — третий элемент от конца и т. д.
Использование отдельных элементов из списка
Отдельные значения из списка используются так же, как и любые другие пере-
менные. Например, вы можете воспользоваться конкатенацией для построения
сообщения, содержащего значение из списка.
Попробуем извлечь название первого велосипеда из списка и составить сообщение,
включающее это значение.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = "My first bicycle was a " + bicycles[0].title() + "."
print(message)
В точке программа строит сообщение, содержащее значение из
bicycles[0]
,
и сохраняет его в переменной
message
. Так создается простое предложение с упо-
минанием первого велосипеда из списка:
My first bicycle was a Trek.
Достарыңызбен бөлісу: |