为什么列表的输出不同?Python代码

为什么列表的输出不同?Python代码,python,Python,在比较两种代码时,我无法理解。a的输出为7,b的输出为5,这是正确的。但是第二个代码,为什么另一个列表在输出中显示[‘鸡蛋’、‘大米’、‘牛奶’、‘面包’、‘黄油’、‘鸡肉’、‘意大利面’]打印(另一个列表)应该只显示['egg','rice','milk','bread','butter','chicken'],因为我已经注释掉了行另一个列表=购物列表 a = 5 b = a a += 2 print(a) print(b) print() shopping_list = ["e

在比较两种代码时,我无法理解。
a
的输出为7,
b
的输出为5,这是正确的。但是第二个代码,为什么
另一个列表在输出中显示
[‘鸡蛋’、‘大米’、‘牛奶’、‘面包’、‘黄油’、‘鸡肉’、‘意大利面’]
<代码>打印(另一个列表)
应该只显示<代码>['egg','rice','milk','bread','butter','chicken'],因为我已经注释掉了行<代码>另一个列表=购物列表

a = 5
b = a
a += 2
print(a)
print(b)
print()
 
shopping_list = ["egg",
                 "rice",
                 "milk",
                 "bread",
                 "butter",
                 "chicken"]
another_list = shopping_list
shopping_list += ["pasta"]
print(shopping_list)
######another_list = shopping_list
print(another_list)

您需要显式复制列表中的元素。否则,只需为相同的数据创建第二个引用


另一个列表=购物列表。复制()

这是否回答了您的问题?这是因为您正在复制引用。技巧是另一个购物清单