Python3 List copy()方法
描述
copy() 函数用于复制列表,类似于 a[:]。
语法
copy()方法语法:
list.copy()
参数
- 无。
返回值
返回复制后的新列表。
实例
以下实例展示了 copy()函数的使用方法:
实例
#!/usr/bin/python3
list1 = ['Google', 'Runcodex', 'Taobao', 'Baidu']
list2 = list1.copy()
print ("list2 列表: ", list2)
list1 = ['Google', 'Runcodex', 'Taobao', 'Baidu']
list2 = list1.copy()
print ("list2 列表: ", list2)
以上实例输出结果如下:
list2 列表: ['Google', 'Runcodex', 'Taobao', 'Baidu']
cowpea
115***1355@qq.com
copy()和直接=赋值的区别:
可以看出,使用=直接赋值,是引用赋值,更改一个,另一个同样会变, 例子中的a,b改变两次都影响到了对方
copy() 则顾名思义,复制一个副本,原值和新复制的变量互不影响 「a,c」
cowpea
115***1355@qq.com
龙龙
990***240@qq.com
输出结果为:
可以看出,copy() 只是是浅度复制,修改列表不会互相影响,但是修改列表里面的对象会影响到对方列表里面对象。
龙龙
990***240@qq.com
叫老王吧
268***1162@qq.com
浅拷贝内存原理:
当原对象存在多层嵌套的情况下,浅拷贝copy()只拷贝了最外层的数据结构,最外层所包含的数据变化时,是不会相互影响的,但是当原数据对象内部嵌套数据中的数据发生变化后,相应的浅拷贝后的对象也会发生变化.类似于一个公司,原来有一个宿舍,通过浅拷贝,重新造了一个相同建筑架构的宿舍.里面有物理墙体,电视,电脑,床位等,电视里播放着统一的画面.当公司改变了电视里播放的画面时,所有的宿舍都会发生改变.其中物理墙体,硬件电视等相当于最外层的对象结构,而电视里的画面就是内层嵌套的数据了。
叫老王吧
268***1162@qq.com