列表赋值的先后顺序问题

列表赋值的先后顺序问题
![](file:///C:\Users\Administrator\Documents\Tencent Files\442569872\Image\C2C\DJVN@GTG0$)Q)6M)[9UUBSH.png)
列表赋值的先后顺序问题
如图,为什么列表先给my_foods列表赋值,然后令friend_foods = my_foods, 然后给my_foods列表append一个新的元素,也能给friends_foods添加进去呢?初学python,请大神解答一下两者之间的差异呢?

pythonxiaocai
讨论数量: 4

百度或者 Google 搜索 Python 可变对象 不可变对象

3个月前 评论

可以使用深度拷贝:
import copy
list_new = copy.deepcopy(list)
这样就不会互相影响了

3个月前 评论

列表是可变类型, friends_foods = my_foods,这样的写法是 friends_foods同样指向my_foods列表的内存空间(可以使用id方法进行查询两者是否为同一指向),所以my_foods在后面进行追加数据时,并没有改变两者的指向。

2个月前 评论

在Python中,用一个变量给另一个变量赋值,引用的同一个内存地址
https://songlee24.github.io/2014/08/15/pyt...

2个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

官方入门教程,从这里开始你的 Python 之旅,将长久维护
《A Byte of Python》的中文译本,由社区维护,每年更新
Python 日常使用的最佳实践,高级 Python 开发者必知必会的知识
Pymotw.com 的中文翻译,实例讲解 Python 3 标准库,简单易懂