dict1
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Class
'
:
'
First
'
}
dict2
=
dict1
.
copy
(
)
print
(
"
新复制的字典为 :
"
,
dict2
)
以上实例输出结果为:
新复制的字典为 : {'Age': 7, 'Name': 'Runoob', 'Class': 'First'}
直接赋值和 copy 的区别
可以通过以下实例说明:
dict1
= {
'
user
'
:
'
runoob
'
,
'
num
'
:
[
1
,
2
,
3
]
}
dict2
=
dict1
dict3
=
dict1
.
copy
(
)
dict1
[
'
user
'
]
=
'
root
'
dict1
[
'
num
'
]
.
remove
(
1
)
print
(
dict1
)
print
(
dict2
)
print
(
dict3
)
实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'runoob', 'num': [2, 3]}
Python 直接赋值、浅拷贝和深度拷贝解析
Python3 字典