【Python语法笔记】列表的copy()函数

来源:互联网 发布:淘宝怎么设置降价提醒 编辑:程序博客网 时间:2024/05/21 14:11

使用列表的copy方法复制一个一维列表

list1 = [1, 2, 3, 4, 5]list2 = list1.copy()list2.append(6)print(list1)print(list2)

运行结果是
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5, 6]
对list2的修改并没有影响list1的元素

使用copy方法复制一个多维列表时:

list1 = [1, 2, 3, ['a', 'b', 'c']]list2 = list1.copy()list2[3][0] = 'A'print(list1)print(list2)

测试得到的结果是
list1 = [1, 2, 3, [‘A’, ‘b’, ‘c’]]
list2 = [1, 2, 3, [‘A’, ‘b’, ‘c’]]
可以看出使用copy方法复制一个多维列表时,新的列表与原来的列表中被包含的子列表指向的是同一个地址。

可以使用import包中的deepcopy函数对列表进行深copy

import copylist1 = [1, 2, 3, ['a', 'b', 'c']]list2 = copy.deepcopy(list1)list2[3][0] = "A"print(list1)print(list2)

结果是:
list1 = [1, 2, 3, [‘a’, ‘b’, ‘c’]]
list2 = [1, 2, 3, [‘A’, ‘b’, ‘c’]]