copy()方法遵循的复制原则包括深拷贝和浅拷贝。以复制下面的字典dict1为例,copy()方法只会对最表层的键值对进行深拷贝,即申请另一块内存存放{'name':'Tom','年龄':18,'爱':'python','数据库':['mysql','sqlite','3.redis']};对于一些列表类型的值,该方法做的是浅拷贝,即dict2中['mysql','sqlite','3.redis']的值不是自己独有的,而是与dict1共享的。dict1={'name':'Tom','age':18,'love':'python','database':['mysql','sqlite','3.redis']}dict2=dict1.copy()dict1['web']='Python自学网'print(dict1)print(dict2)dict1['database'].remove('mysql')print(dict1)print(dict2)returnresult:{'name':'Tom','age':18,'love':'python','database':['mysql','sqlite','3.redis'],'web':'Python自学network'}{'name':'Tom','age':18,'love':'python','database':['mysql','sqlite','3.redis']}{'name':'Tom','age':18,'love':'python','database':['sqlite','3.redis'],'web':'Python自学网'}{'name':'Tom','age':18,'love':'python','database':['sqlite','3.redis']}另外看看字典是不是可变数据类型dict3={'name':'Tom','age':18,'love':'python'}print(dict3,id(dict3))dict3['love']='python'print(dict3,id(dict3))#id不变,说明字典是可变的返回结果:{'name':'Tom','age':18,'love':'python'}34693248{'name':'Tom','age':18,'love':'python'}34693248由上可知,字典是可变数据类型。
