博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,创业者,知识共享者,欢迎关注,点赞,收藏。
目录
- 一、背景
- 二、更新字典
- update()方法
- 三、复制字典
- 四、参考
- 五、总结
一、背景
在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。这里介绍一下python字典的更新复制相关知识。
二、更新字典
update()方法
可以将新字典的“键-值”对一次性全部添加到当前字典中,如果两个字典中存在相同的“键”,则以新字典中的“值”为准更新当前字典。
- dict为当前字典
- dict2为新字典
dict.update(dict2)
例如:
stu_info = {'num':'20180105', 'name':'Yinbing', 'age':'17'} #创建字典
stu_info.update({'age':'18', 'sex':'male'}) #修改age的值,同时添加新元素
print(stu_info)
三、复制字典
复制字典可调用copy()方法,copy()方法返回字典的浅复制。
- dict为需要复制的字典
- 该方法无参数,返回值为一个新字典
dict.copy()
例如:
stu_info = {'num': '20180105', 'name': 'Yinbing', 'age': '17'}
a = stu_info.copy()
print(a)
结果如下。
在Python3中,可以用三种方法复制字典:直接赋值、浅复制和深复制。
(1)直接赋值:对象的引用。
(2)浅复制(copy()方法):拷贝父对象,引用对象内部的子对象。
(3)深复制(deepcopy()方法):copy模块的deepcopy()方法,完全复制父对象及其子对象。
例:直接赋值、浅复制和深复制的区别。
import copy
dict1 = {'user': 'runoob', 'num': [1, 2, 3]}
dict2 = dict1 # 引用对象
dict3 = dict1.copy() # 浅复制,深复制父对象,子对象不复制,还是引用
dict4 = copy.deepcopy(dict1) # 深复制,完全复制父对象及其子对象
dict1['user'] = 'root' # 将dict1中键为'user'的值改为'root'
dict1['num'].remove(1) # 移除dict1中键为'num'的列表值中的1
#输出结果
print('dict1=', dict1)
print('dict2=', dict2)
print('dict3=', dict3)
print('dict4=', dict4)
结果如下。
四、参考
1、廖雪峰的官网
2、python官网
3、Python编程案例教程
五、总结
以上就是就是关于python字典的更新复制相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏,后面会不断更新相关知识,大家一起进步。