【Python】Python3 List 列表复制
来源:互联网 发布:黑猫警长细思极恐 知乎 编辑:程序博客网 时间:2024/06/08 03:35
代码:
a = [1,2,3]b = ac = []c = ad = a[:]a,b,c,dprint("a,b,c,d:",a,b,c,d)print("id(a),id(b),id(c),id(d):",id(a),id(b),id(c),id(d))b[0] = "b"print("a,b,c,d:",a,b,c,d)print("id(a),id(b),id(c),id(d):",id(a),id(b),id(c),id(d))c[0] = "c"print("a,b,c,d:",a,b,c,d)print("id(a),id(b),id(c),id(d):",id(a),id(b),id(c),id(d))d[0] = "d"print("a,b,c,d:",a,b,c,d)print("id(a),id(b),id(c),id(d):",id(a),id(b),id(c),id(d))
代码输出:
a,b,c,d: [1, 2, 3] [1, 2, 3] [1, 2, 3] [1, 2, 3]id(a),id(b),id(c),id(d): 2782355445192 2782355445192 2782355445192 2782355356936a,b,c,d: ['b', 2, 3] ['b', 2, 3] ['b', 2, 3] [1, 2, 3]id(a),id(b),id(c),id(d): 2782355445192 2782355445192 2782355445192 2782355356936a,b,c,d: ['c', 2, 3] ['c', 2, 3] ['c', 2, 3] [1, 2, 3]id(a),id(b),id(c),id(d): 2782355445192 2782355445192 2782355445192 2782355356936a,b,c,d: ['c', 2, 3] ['c', 2, 3] ['c', 2, 3] ['d', 2, 3]id(a),id(b),id(c),id(d): 2782355445192 2782355445192 2782355445192 2782355356936
可以看到a b c三个是同一id值,当改变当中任一列表元素的值后,三者会同步改变。
但d的元素值不会变,改变d的元素值其它三个变量内的元素值也不会变。
从a b c d的id值来看,a b c地址全一样,唯有d分配了新地址。
所以一般情况下想复制得到一个新列表并改变新列表内元素而不影响原列表,可以采用d的赋值方式。
这只是针对这种比较单一的普通列表。
阅读全文
0 0
- 【Python】Python3 List 列表复制
- python list(列表)赋值与复制
- Python3 list 列表操作
- Python3 列表(list)
- Python3.X的list列表
- Python3之列表(list)
- Python3之列表list使用
- [python学习]列表复制
- Python列表复制
- Python列表复制操作
- python列表的复制
- Python之复制列表
- python3中关于列表复制的问题
- [Python] List & 深浅复制
- python 复制list
- python之list复制
- 【Python】Python3 List max()方法
- 【Python】Python3 List min()方法
- nodejs新建项目
- 【基础中心】笔记七--工具
- Privacy Policy
- 面试OR笔试14——最小体力值
- Yii
- 【Python】Python3 List 列表复制
- Python subprocess模块学习总结
- AtomicInteger使用
- gulp.js 核心代码
- 1279:两点距离
- 设计原则
- 判断电脑是64还是32位
- LAMP安装(六) apache 的安装 与配置
- 图像滤波:相关运算与卷积运算