Книга «Изучаем Python»



Pdf көрінісі
бет38/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   34   35   36   37   38   39   40   41   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

ПРИМЕЧАНИЕ
Если в вашей программе произошла ошибка индексирования и вы не знаете, как с ней справиться, 
попробуйте вывести список или хотя бы его длину . Возможно, ваш список выглядит совсем не так, 
как вы думаете, особенно если его содержимое динамически определялось программой . Фактиче-
ское состояние списка или точное количество элементов в нем поможет вам выявить логические 
ошибки такого рода .
УПРАЖНЕНИЯ
3-11 . Намеренная ошибка: если ни в одной из предшествующих программ вы еще не стал-
кивались с ошибками индексирования, попробуйте создать такую ошибку искусственно . 
Измените индекс в одной из программ, чтобы вызвать ошибку индексирования . Не забудьте 
исправить ошибку перед тем, как закрыть программу .


Итоги
61
Итоги
В этой главе вы узнали, что представляют собой списки и как работать с отдельны-
ми элементами в списках. Вы научились определять списки, добавлять и удалять 
элементы, выполнять сортировку (постоянную или временную для отображения). 
Также вы узнали, как определить длину списка и как избежать ошибок индекси-
рования при работе со списком.
В главе 4 рассматриваются приемы более эффективной работы со списками. Пере-
бор всех элементов списка всего в нескольких строках кода, даже если список со-
держит тысячи или миллионы элементов, сокращает объем программы.


4
Работа со списками
В главе 3 вы научились создавать простые списки и работать с отдельными элемен-
тами списков. В этой главе вы узнаете, как перебрать весь список всего в несколь-
ких строках кода (независимо от длины списка). Механизм перебора позволяет 
выполнить одно действие или набор действий с каждым элементом в списке. С его 
помощью вы сможете эффективно работать со списками любой длины, даже со-
стоящими из тысяч и миллионов элементов.
Перебор всего списка
Типичная задача из области программирования — перебрать все элементы списка 
и выполнить с каждым элементом одну и ту же операцию. Например, в компью-
терной игре все экранные объекты могут смещаться на одинаковую величину, 
или в списке чисел к каждому элементу может применяться одна и та же стати-
стическая операция. А может быть, вам нужно вывести все заголовки из списка 
статей на сайте. В ситуациях, требующих применения одного действия к каждому 
элементу списка, можно воспользоваться циклами 
for
.
Допустим, имеется список с именами фокусников, и вы хотите вывести каждое 
имя из списка. Конечно, можно обратиться к каждому элементу по отдельности, 
но такой подход создает ряд проблем. Во-первых, для очень длинных списков все 
сведется к однообразным повторениям. Во-вторых, при любом изменении длины 
списка в программу придется вносить изменения. Цикл 
for
решает обе проблемы: 
Python будет следить за всеми техническими деталями в своей внутренней реали-
зации.
В следующем примере цикл 
for
используется для вывода имен фокусников:
magicians.py
 
magicians = ['alice', 'david', 'carolina'] 
 
for magician in magicians: 
 
print(magician)
Все начинается с определения списка 

, как и в главе 3. В точке 

определяется 
цикл 
for
. Эта строка приказывает Python взять очередное имя из списка и сохра-
нить его в переменной 
magician
. В точке 

выводится имя, только что сохранен-
ное в переменной 
magician
. Затем строки 

и 

повторяются для каждого имени 


Перебор всего списка
63
в списке. Этот код можно описать так: «Для каждого фокусника в списке вывести 
его имя». Результат представляет собой простой перечень имен из списка:
alice 
david 
carolina
Подробнее о циклах
Концепция циклов очень важна, потому что она представляет один из основных 
способов автоматизации повторяющихся задач компьютером. Например, в простом 
цикле, использованном в 
magicians .py
, Python сначала читает первую строку цикла:
for magician in magicians:
Эта строка означает, что нужно взять первое значение из списка 
magicians
и со-
хранить его в переменной 
magician
. Первое значение в списке — 
'alice'
. Затем 
Python читает следующую строку:
print(magician)
Python выводит текущее значение 
magician
, которое все еще равно 
'alice'
. Так 
как в списке еще остались другие значения, Python возвращается к первой строке 
цикла:
for magician in magicians:
Python берет следующее значение из списка — 
'david'
— и сохраняет его в 
magician

Затем выполняется строка:
print(magician)
Python снова выводит текущее значение 
magician
; теперь это строка 
'david'
. Весь 
цикл повторяется еще раз с последним значением в списке, 
'carolina'
. Так как 
других значений в списке не осталось, Python переходит к следующей строке в про-
грамме. В данном случае после цикла 
for
ничего нет, поэтому программа просто 
завершается.
Помните, что все действия повторяются по одному разу для каждого элемента 
в списке независимо от их количества. Если список содержит миллион элементов, 
Python повторит эти действия миллион раз — обычно это происходит очень быстро.
Также помните, что при написании собственных циклов 
for
временной переменной 
для текущего значения из списка можно присвоить любое имя. Однако на практи-
ке рекомендуется выбирать осмысленное имя, описывающее отдельный элемент 
списка. Несколько примеров:
for cat in cats:
for dog in dogs:
for item in list_of_items:
Выполнение этого правила поможет вам проследить за тем, какие действия выпол-
няются с каждым элементом в цикле 
for
. В зависимости от того, какое число ис-


64

Достарыңызбен бөлісу:
1   ...   34   35   36   37   38   39   40   41   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет