博主简介:原互联网大厂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)

  结果如下。

python 字典更新 锁 python字典更新元素_浅复制

  在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)

  结果如下。

python 字典更新 锁 python字典更新元素_python 字典更新 锁_02


四、参考

1、廖雪峰的官网
2、python官网
3、Python编程案例教程


五、总结

  以上就是就是关于python字典的更新复制相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏,后面会不断更新相关知识,大家一起进步。