【Python3教程】Python 字典(Dictionary) copy() 方法

Python 字典 (Dictionary) 对象的 copy() 方法返回一个字典的浅复制

语法

dict_obj.copy()

参数

返回值

返回一个字典的浅复制

范例

下面的代码使用 copy() 方法返回字典 people 的一个浅拷贝( 副本 )

>>>people={'city':'PEK','age':28,'name':'Li Bai'}

>>>people2=people.copy()

>>>people2

{'city':'PEK','age':28,'name':'Li Bai'}

>>>id(people)

4416781400

>>>id(people2)

4416779440

直接赋值和 copy 的区别

直接赋值其实给字典一个别名

我们通过下面的代码来演示这种差别

#!/usr/bin/python

dict1={'user':'简单教程','num':[1,2,3]}

dict2=dict1# 浅拷贝: 引用对象

dict3=dict1.copy()# 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用

# 修改 data 数据

dict1['user']='root'

dict1['num'].remove(1)

# 输出结果

print(dict1)

print(dict2)

print(dict3)

范例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的

dict3 父对象进行了深拷贝,不会随 dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改

运行以上 Python 代码,输出结果如下

{'num': [2, 3], 'user': 'root'}

{'num': [2, 3], 'user': 'root'}

{'num': [2, 3], 'user': '简单教程'}

以上是 【Python3教程】Python 字典(Dictionary) copy() 方法 的全部内容, 来源链接: www.h5w3.com/134112.html

回到顶部