Python 列表的copy函数

列表的copy函数
功能
- 将
当前列表复制一份相同的列表,新列表与旧列表内容相同,但内存空间不同
用法
list.copy()-> 该函数无参数 , 返回一个一模一样的列表
copy与二次赋值的区别
二次赋值的变量与原始变量享有
相同内存空间copy函数创建的新列表与原始列表不是一个内存空间,不同享数据变更copy属于浅拷贝
a = [1,2,3]
b = a
a = [1,2,3]
b = a.copy()
b.append(4)
b -> [1,2,3,4]
a -> [1,2,3]
浅拷贝与深拷贝
- 深拷贝内存空间不同,不共享数据;
- 浅拷贝是对最外层的数据创建一个新的间来存储,而对内层的内存地址进行引用;


代码
# coding:utf-8
old_list = ['python', 'django', 'flask']
new_list = old_list
new_list.append('tornado')
print(new_list)
print(old_list)
print(id(new_list), id(old_list))
old_list.remove('tornado')
print(new_list, old_list)
# old_list.clear()
# print(new_list, old_list)
del new_list
print(old_list)
old_list_copy = ['python', 'django', 'flask']
new_list_copy = old_list_copy.copy()
print(old_list_copy, new_list_copy)
new_list_copy.append('tornado_copy')
print(old_list_copy, new_list_copy)
print(id(old_list_copy), id(new_list_copy))




