python 复制列表
2024-08-26 20:03:43
python的变量仅仅是指向对象的标签,所以在操作列表的时候,list1 = list2这种做法只会复制一个标签,然后指向对象,并非生成一个新的对象。
大致有5中方法可以复制列表:
a = [1,2,3,[1]]
b= a[:]
c= list(a)
d = a *1
e = copy.copy(a)
f = copy.deepcopy(a)
再对a列表进行操作
a.append(12)
a[3].append(12)
print id(a),a
print id(b),b
print id(c),c
print id(d),d
print id(e),e
print id(f),f
各个复制方式的结果比较
41900952 [1, 2, 3, [1, 12], 12]
41899112 [1, 2, 3, [1, 12]]
41919792 [1, 2, 3, [1, 12]]
41889664 [1, 2, 3, [1, 12]]
41922192 [1, 2, 3, [1, 12]]
41900912 [1, 2, 3, [1]]
可以看出五个方式都可以复制列表,但是如果列表中含有子列表,b,c,d,e四个方式的子列表是指向a的对象上面,只有f方式是完全复制了一个新的列表
最新文章
- EF CodeFirst EntityTypeConfiguration 自关联映射配置
- andriod逆向实验截图
- 事务四大特征:原子性,一致性,隔离性和持久性(ACID)
- mssql查找备注(text,ntext)类型字段为空的方法
- uva 11997 K Smallest Sums 优先队列处理多路归并问题
- 超快速使用docker在本地搭建hadoop分布式集群
- POJ 3692 Kindergarten (二分图 最大团)
- Struts2 API的chm格式帮助文档制作教程
- 13年7月13日CF练习 Codeforces Round #147 (Div. 2)
- VisualSVN Server启动错误(0x8007042a)
- azkaban使用
- CSS 尺寸 (Dimension) 实例
- 深入浅出Mybatis技术原理与实战(杨开振)(带详细书签) PDF 下载 高清 完整版+源码
- 【伊利丹】Hadoop2.0 NN HA实验记录
- (原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件
- mvc 路由配置-学习
- 6-11 Level-order Traversal(25 分)
- LogHelp 日记分天记录,只记30天日记
- 视频video遇到一些坑
- 查看sdk