首页 > 编程语言 > 详细

python 复制列表

时间:2018-07-03 13:06:54      阅读:137      评论:0      收藏:0      [点我收藏+]

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方式是完全复制了一个新的列表

 

python 复制列表

原文:https://www.cnblogs.com/michealLang/p/9257859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!