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


cars = ['bmw', 'audi', 'toyota', 'subaru']



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

cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> 
len(cars)
4
Метод 
len()
может пригодиться для определения количества пришельцев, кото-
рых необходимо сбить в игре; объема данных, которыми необходимо управлять 
в визуализации; количества зарегистрированных пользователей на веб-сайте и т. д.


Ошибки индексирования при работе со списками 
59
ПРИМЕЧАНИЕ
Python подсчитывает элементы списка, начиная с 1, поэтому при определении длины списка оши-
бок «смещения на 1» уже быть не должно .
УПРАЖНЕНИЯ
3-8 . Повидать мир: вспомните хотя бы пять стран, в которых вам хотелось бы побывать .
• Сохраните названия стран в списке . Проследите за тем, чтобы список не хранился 
в алфавитном порядке .
• Выведите список в исходном порядке . Не беспокойтесь об оформлении списка, просто 
выведите его как обычный список Python .
• Используйте функцию sorted() для вывода списка в алфавитном порядке без измене-
ния списка .
• Снова выведите список, чтобы показать, что он по-прежнему хранится в исходном 
порядке .
• Используйте функцию sorted() для вывода списка в обратном алфавитном порядке 
без изменения порядка исходного списка .
• Снова выведите список, чтобы показать, что исходный порядок не изменился .
• Измените порядок элементов вызовом reverse() . Выведите список, чтобы показать, 
что элементы следуют в другом порядке .
• Измените порядок элементов повторным вызовом reverse() . Выведите список, чтобы 
показать, что список вернулся к исходному порядку .
• Отсортируйте список в алфавитном порядке вызовом sort() . Выведите список, чтобы 
показать, что элементы следуют в другом порядке .
• Вызовите sort() для перестановки элементов списка в обратном алфавитном порядке . 
Выведите список, чтобы показать, что порядок элементов изменился .
3-9 . Количество гостей: в одной из программ из упражнений с 3-4 по 3-7 используйте len() 
для вывода сообщения с количеством людей, приглашенных на обед .
3-10 . Все функции: придумайте информацию, которую можно было бы хранить в списке . 
Например, создайте список гор, рек, стран, городов, языков… словом, чего угодно . Напи-
шите программу, которая создает список элементов, а затем вызывает каждую функцию, 
упоминавшуюся в этой главе, хотя бы один раз .
Ошибки индексирования при работе
со списками
Когда программист только начинает работать со списками, он часто допускает одну 
характерную ошибку. Допустим, имеется список с тремя элементами, и программа 
запрашивает четвертый элемент:
motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles[3])
В этом случае происходит 
ошибка индексирования
:
Traceback (most recent call last):
File "motorcycles.py", line 3, in
print(motorcycles[3])
IndexError: list index out of range


60
Глава 3 • Списки
Python пытается вернуть элемент с индексом 3. Однако при поиске по списку 
ни один элемент 
motorcycles
не обладает индексом 3. Из-за смещения индексов 
на 1 эта ошибка весьма распространена. Люди думают, что третьим элементом 
является элемент с индексом 3, потому что они начинают отсчет с 1. Но для 
Python третьим является элемент с индексом 2, потому что индексирование 
начинается с 0.
Ошибка индексирования означает, что Python не может понять, какой индекс за-
прашивается в программе. Если в вашей программе происходит ошибка индексиро-
вания, попробуйте уменьшить запрашиваемый индекс на 1. Затем снова запустите 
программу и проверьте правильность результатов.
Помните, что для обращения к последнему элементу в списке используется 
индекс –1. Этот способ работает всегда, даже если размер списка изменился 
с момента последнего обращения к нему:
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles[-1])
Индекс –1 всегда возвращает последний элемент списка, в данном случае значение 
'suzuki'
:
'suzuki'
Этот синтаксис порождает ошибку только в одном случае — при попытке получить 
последний элемент пустого списка:
motorcycles = [] 
print(motorcycles[-1])
В списке 
motorcycles
нет ни одного элемента, поэтому Python снова выдает ошибку 
индексирования:
Traceback (most recent call last): 
File "motorcyles.py", line 3, in  
print(motorcycles[-1]) 
IndexError: list index out of range


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




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

    Басты бет