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



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


Глава 3 • Списки
popped_motorcycle
. Вывод измененного списка в точке 

показывает, что значе-
ние было удалено из списка. Затем мы выводим извлеченное значение в точке 


демонстрируя, что удаленное из списка значение остается доступным в программе.
Из вывода видно, что значение 
'suzuki'
, удаленное в конце списка, теперь хранится 
в переменной 
popped_motorcycle
:
['honda', 'yamaha', 'suzuki'] 
['honda', 'yamaha']
suzuki
Для чего может понадобиться метод 
pop()
? Представьте, что мотоциклы в списке 
хранятся в хронологическом порядке в соответствии с датой их покупки. В таком 
случае команда 
pop()
может использоваться для вывода сообщения о последнем 
купленном мотоцикле:
motorcycles = ['honda', 'yamaha', 'suzuki'] 
last_owned = motorcycles.pop() 
print("The last motorcycle I owned was a " + last_owned.title() + ".")
Программа выводит простое сообщение:
The last motorcycle I owned was a Suzuki.
Извлечение элементов из произвольной позиции списка
Вызов 
pop()
может использоваться для удаления элемента в произвольной позиции 
списка; для этого следует указать индекс удаляемого элемента в круглых скобках.
motorcycles = ['honda', 'yamaha', 'suzuki'] 
 
first_owned = motorcycles.pop(0)
 
print('The first motorcycle I owned was a ' + first_owned.title() +
'.')
Сначала первый элемент извлекается из списка в точке 

, а затем в точке 

вы-
водится сообщение об этом мотоцикле. Программа выводит простое сообщение 
о первом мотоцикле:
The first motorcycle I owned was a Honda.
Помните, что после каждого вызова 
pop()
элемент, с которым вы работаете, уже 
не находится в списке.
Если вы не уверены в том, какой из двух способов выбрать — команду 
del
или ме-
тод 
pop()
, — то простое правило поможет вам определиться. Если вы собираетесь 
просто удалить элемент из списка, никак не используя его, выбирайте команду 
del

если же вы намерены использовать элемент после удаления из списка, выбирайте 
метод 
pop()
.
Удаление элементов по значению
Иногда позиция удаляемого элемента неизвестна. Если вы знаете только значение 
элемента, используйте метод 
remove()
.


Индексы начинаются с 0, а не с 1
55
Допустим, из списка нужно удалить значение 
'
ducati'
:
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] 
print(motorcycles)
 
motorcycles.remove('ducati')
print(motorcycles)
Код в точке 

приказывает Python определить, в какой позиции списка находится 
значение 
'ducati'
, и удалить этот элемент:
['honda', 'yamaha', 'suzuki', 'ducati'] 
['honda', 'yamaha', 'suzuki']
Метод 
remove()
также может использоваться для работы со значением, которое 
удаляется из списка. Следующая программа удаляет значение 
'ducati'
и выводит 
причину удаления:
 
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
 
too_expensive = 'ducati'
 
motorcycles.remove(too_expensive)
print(motorcycles)
 
print("\nA " + too_expensive.title() + " is too expensive for me.")
После определения списка в точке 

значение 
'ducati'
сохраняется в перемен-
ной с именем 
too_expensive
в точке 

. Затем эта переменная сообщает Python, 
какое значение должно быть удалено из списка 

. В точке 

значение 
'ducati'
было удалено из списка, но продолжает храниться в переменной 
too_expensive

что позволяет вывести сообщение с причиной удаления 
'ducati'
из списка мо-
тоциклов:
['honda', 'yamaha', 'suzuki', 'ducati'] 
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.


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




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

    Басты бет