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



Pdf көрінісі
бет46/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   42   43   44   45   46   47   48   49   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 4 • Работа со списками
My favorite foods are: 
 
['pizza', 'falafel', 'carrot cake', 'cannoli']
My friend's favorite foods are: 
 
['pizza', 'falafel', 'carrot cake', 'ice cream']
Вывод в точке 

показывает, что элемент 
'cannoli'
находится в списке 
my_foods

а элемент 
'ice cream'
в этот список не входит. В точке 

видно, что 
'ice cream'
входит в список 
friend_foods
, а элемент 
'cannoli'
в этот список не входит. Если 
бы эти два списка просто совпадали, то их содержимое уже не различалось бы. 
Например, вот что происходит при попытке копирования списка без использо-
вания среза:
my_foods = ['pizza', 'falafel', 'carrot cake'] 
# This doesn't work:
 
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)
Вместо того чтобы сохранять копию 
my_foods
в 
friend_foods
в точке 

, мы зада-
ем 
friend_foods
равным 
my_foods
. Этот синтаксис в действительности сообщает 
Python, что новая переменная 
friend_foods
должна быть связана со списком, уже 
хранящимся в 
my_foods
, поэтому теперь обе переменные связаны с одним списком. 
В результате при добавлении элемента 
'cannoli'
в 
my_foods
этот элемент также 
появляется в 
friend_foods
. Аналогичным образом элемент 
'ice cream'
появляется 
в обоих списках, хотя на первый взгляд он был добавлен только в 
friend_foods

Вывод показывает, что оба списка содержат одинаковые элементы, а это совсем не 
то, что требовалось:
My favorite foods are: 
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
My friend's favorite foods are: 
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']


Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   266




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

    Басты бет