前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础之字典的更新复制

python基础之字典的更新复制

作者头像
jiankang666
发布2022-06-22 09:35:43
6210
发布2022-06-22 09:35:43
举报
文章被收录于专栏:java基础笔记

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


一、背景

  在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。这里介绍一下python字典的更新复制相关知识。


二、更新字典

update()方法

  可以将新字典的“键-值”对一次性全部添加到当前字典中,如果两个字典中存在相同的“键”,则以新字典中的“值”为准更新当前字典。

  • dict为当前字典
  • dict2为新字典

dict.update(dict2)

  例如:

代码语言:javascript
复制
stu_info = {'num':'20180105', 'name':'Yinbing', 'age':'17'}    #创建字典
stu_info.update({'age':'18', 'sex':'male'})            #修改age的值,同时添加新元素
print(stu_info)

三、复制字典

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

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

dict.copy()

  例如:

代码语言:javascript
复制
stu_info = {'num': '20180105', 'name': 'Yinbing', 'age': '17'}
a = stu_info.copy()
print(a)

  结果如下。

  在Python3中,可以用三种方法复制字典:直接赋值、浅复制和深复制。 (1)直接赋值:对象的引用。 (2)浅复制(copy()方法):拷贝父对象,引用对象内部的子对象。 (3)深复制(deepcopy()方法):copy模块的deepcopy()方法,完全复制父对象及其子对象。

  例:直接赋值、浅复制和深复制的区别。

代码语言:javascript
复制
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字典的更新复制相关知识,可以参考一下,后面会不断更新相关知识,大家一起进步。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java基础笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、更新字典
    • update()方法
    • 三、复制字典
    • 四、参考
    • 五、总结
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档