您的位置:首页 > 运维架构

将一个列表的数据复制到另一个列表中。

2017-08-05 14:31 381 查看
1、对于简单的列表,也就是列表中都是基本的元素,可以使用如下的方法:
a=[1,2]
b=a[:]
print(b)
结果:[1, 2]2、但是如果列表中仍然包含列表,这种方法就不合适,原因就是,对于a[:]这种处理,只是将列 表元素的值生成一个新的列表,如果列表元素也是一个列表,如:a=[1,[2]],那么这种复制对于元素[2]的处理只是复制[2]的引用,而并未生成 [2]的一个新的列表复制。为了证明这一点,测试步骤如下:
a=[2,[3]]
b=a[:]
a[1].append(4)

print(a)
print(b)
结果:[2, [3, 4]][2, [3, 4]]说明这种复制方法对于复杂的列表不适用。2、复杂列表可以使用copy模块中的deepcopy函数。修改函数如下;
import copy
a=[2,[3]]
b=copy.deepcopy(a)
a[1].append(4)

print(a)
print(b)
结果:[2, [3, 4]]
[2, [3]]
说明完全复制过来了,对a的操作,对b无任何影响

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  列表复制 copy deepcopy
相关文章推荐