前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python python列表对象复制

python python列表对象复制

作者头像
葫芦
发布2019-08-21 14:55:47
1.2K0
发布2019-08-21 14:55:47
举报
文章被收录于专栏:葫芦

葫芦的运维日志

python对象复制

结论

等号赋值

赋值后的对象内存地址相同,改变新对象,老对象同步改变。

copy.copy浅赋值

赋值后的对象内存地址不同,但是列表内对象地址相同。 如果修改新列表内的数组对象,老列表同步修改。 如果修改列表内的数值对象,老列表不变。

copy.deepcopy深赋值

赋值后的对象内存地址不同,列表内对象地址也不同。 修改新对象完全不影响老对象。

实验脚本

代码语言:javascript
复制
>>> import copy
>>> a=[1,[1,2],3]
>>> b=a
>>> b
[1, [1, 2], 3]
>>> id(a)
4549388120
>>> id(b)
4549388120
>>> b[0]=3
>>> a
[3, [1, 2], 3]
>>>
>>>
>>> c=copy.copy(a)
>>> id(c)
4549389992
>>> id(a)
4549388120
>>> c[0]=4
>>> a
[3, [1, 2], 3]
>>> c
[4, [1, 2], 3]
>>> c[1].append(3)
>>> a
[3, [1, 2, 3], 3]
>>> c
[4, [1, 2, 3], 3]
>>>
>>> id(a[2])
140345184649736
>>> id(c[2])
140345184649736
>>> id(c[1])
4549388192
>>> id(a[1])
4549388192
>>> d=copy.deepcopy(a)
>>> id(d)
4549389632
>>> id(a)
4549388120
>>> d[1].append(4)
>>> a
[3, [1, 2, 3], 3]
>>> d
[3, [1, 2, 3, 4], 3]

葫芦的运维日志

上一篇 搜索 下一篇

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python对象复制
    • 结论
      • 等号赋值
      • copy.copy浅赋值
      • copy.deepcopy深赋值
    • 实验脚本
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档