2022年 11月 4日

python基础之字典的更新复制

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。

目录

      • 一、背景
      • 二、更新字典
        • 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)
  • 1
  • 2
  • 3

三、复制字典

  复制字典可调用copy()方法,copy()方法返回字典的浅复制。

  • dict为需要复制的字典
  • 该方法无参数,返回值为一个新字典

dict.copy()

  例如:

stu_info = {'num': '20180105', 'name': 'Yinbing', 'age': '17'}
a = stu_info.copy()
print(a)
  • 1
  • 2
  • 3

  结果如下。
在这里插入图片描述

  在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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

  结果如下。
在这里插入图片描述


四、参考

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


五、总结

  以上就是就是关于python字典的更新复制相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。