python之路——深拷贝与浅拷贝

来源:互联网 发布:scrivener软件下载 编辑:程序博客网 时间:2024/06/15 18:28

深拷贝与浅拷贝

1.浅拷贝

浅拷贝实际上的拷贝列表中元素的地址
- demo1

names1 = ['nick', 'judy', 'ATong', 'LuLu']names2 = names1.copy()print(names2)

print—>:
[‘nick’, ‘judy’, ‘ATong’, ‘LuLu’]

  • demo2
names3 = ['nick', 'judy', 'ATong', 'LuLu', ['nick', 'judy', 'ATong', 'LuLu']]names4 = names3.copy()names3[-1][-1] = 'lulu'print(names3)print(names4)

print—>:
[‘nick’, ‘judy’, ‘ATong’, ‘LuLu’, [‘nick’, ‘judy’, ‘ATong’, ‘lulu’]]
[‘nick’, ‘judy’, ‘ATong’, ‘LuLu’, [‘nick’, ‘judy’, ‘ATong’, ‘lulu’]]

2.深拷贝

深拷贝会对列表中的元素进行拷贝而非对其引用地址拷贝
- demo1

names3 = ['nick', 'judy', 'ATong', 'LuLu', ['nick', 'judy', 'ATong', 'LuLu']]names4 = copy.deepcopy(names3)names3[-1][-1] = 'lulu'print(names3)print(names4)

print—>:
[‘nick’, ‘judy’, ‘ATong’, ‘LuLu’, [‘nick’, ‘judy’, ‘ATong’, ‘lulu’]]
[‘nick’, ‘judy’, ‘ATong’, ‘LuLu’, [‘nick’, ‘judy’, ‘ATong’, ‘LuLu’]]

原创粉丝点击