列表赋值的先后顺序问题

Q)6M)[9UUBSH.png)
如图,为什么列表先给my_foods列表赋值,然后令friend_foods = my_foods, 然后给my_foods列表append一个新的元素,也能给friends_foods添加进去呢?初学python,请大神解答一下两者之间的差异呢?
关于 LearnKu
百度或者 Google 搜索
Python 可变对象 不可变对象可以使用深度拷贝:
import copy
list_new = copy.deepcopy(list)
这样就不会互相影响了
列表是可变类型, friends_foods = my_foods,这样的写法是 friends_foods同样指向my_foods列表的内存空间(可以使用id方法进行查询两者是否为同一指向),所以my_foods在后面进行追加数据时,并没有改变两者的指向。
在Python中,用一个变量给另一个变量赋值,引用的同一个内存地址
https://songlee24.github.io/2014/08/15/pyt...
使用"="来复制一份列表是错误的, 因为这样一来, 两个列表会指到同一个内存, 改了其中一个, 两个都变了, 要使用副列表来作, 比如friend_foods = my_foods[:], 这样就OK了.