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



Pdf көрінісі
бет43/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   39   40   41   42   43   44   45   46   ...   238
Байланысты:
2 5343781172763690906

ПРИМЕЧАНИЕ

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   ...   39   40   41   42   43   44   45   46   ...   238




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

    Басты бет