先定义一个列表
>>> s = [1,'alex','alvin']
>>> s2 = s.copy() 使用copy()方法拷贝,创建一个新的对象s2
>>> print(s2) 拷贝之后s2对象和s对象的内容一样。
[1,'alex','alvin']
>>> s2[0] = 3 修改s2对象的值
>>> print(s2)
[3,'alex','alvin'] 打印s2,发现s2对象的值发生了变化
>>> print(s)
[1,'alex','alvin'] 而对应的s对象的值却没有发生任何变化
总结:简单的copy拷贝,新创建的对象和被拷贝的对象之间没有关系,两者修改任意一个对象的值,都不会对对方产生印象。
>>> s = [[1,2],'alex','alvin']
>>> s3 = s.copy() 做拷贝
>>> print(s)
[[1,2],'alex','alvin']
>>> print(s3)
[[1,2],'alex','alvin'] 在这一步之前s和s2输出的值都是一样的。
>>> s3[1] = 'linux' 修改s2对象的值,这里一步s2发生变化,s不会发生变化,两者没有影响。
>>> print(s3)
[[1,2],'linux','alvin']
>>> print(s)
[[1,2],'alex','alvin']
>>> s3[0][1] = 3 这里修改了s2列表里面的子列表的值,打印s和s2发现两个对象的子列表的值都发生了变化。
>>> print(s3)
[[1,3],'linux','alvin']
>>> print(s)
[[1,3],'linux','alvin']