提前知道Python3.9中关于字典的新方法
off999 2024-10-13 04:21 68 浏览 0 评论
Python3.9目前还在研发中,还没有正式发布。2月26日,研发团队发布了α版,其中有一个新功能,会关系到所有开发者,那就是两个操作符:|和|=,分别实现对字典的合并操作。
字典
Python中的字典-dict,是一种重要的内置对象类型,它是一种以键值对方式保存数据的容器,因为使用了哈希,使得查询字典中数据时的时间复杂度恒定。这是大家喜欢它的原因之一。
创建一个字典
>>> d={'name':'zhangsan','age':11}
>>> type(d)
<class 'dict'>
获取字典中的值
>>> name = d['name']
>>> name
'zhangsan'
更新字典中的值
>>> d['name'] = 'xiaoming'
>>> d['name']
'xiaoming'
插入一个键值对
>>> d['sex'] = 'man'
>>> d
{'name': 'xiaoming', 'age': 11, 'sex': 'man'}
原来合并字典的方法
很多情况都可能用到字典合并。在Python3.9之前,有几种方法可以实现。
假设有两个字典:d1和d2,新建一个字典dicts,它的值是d1和d2的并集。从下面的演示中我们可以看到,如果字典中被合并的字典中有重复的键,例如d2如果是字典d3那样,就会把d1中同名的键覆盖了。
d1 = {'a': 1, 'b': 2}
d2 = {'c': 3, 'd': 4}
d3 = {'a': 10, 'c': 3, 'd': 4}
方法一:update()方法
创建d1的副本。update()方法会修改字典的位置
>>> d1 = {'a': 1, 'b': 2}
>>> d2 = {'c': 3, 'd': 4}
>>> dicts = d1.copy()
>>> dicts
{'a': 1, 'b': 2}
再使用update()方法
>>> dicts.update(d2)
>>> dicts
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
如果字典中有重名的键,我们必须更加谨慎,确定保留哪些值。作为update()方法的参数d3中,与dicts有重复的键,比如键a对应的值会遵循“最后一个有效”的原则合并,会被覆盖掉。
>>> dicts.update(d3)
>>> dicts
{'a': 10, 'b': 2, 'c': 3, 'd': 4}
方法二: 解包字典
使用字典解包,类似上面的方法,如果有重名的键,依然是“最后一个有效”
>>> dicts = {**d1,**d2}
>>> dicts
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法三:使用dict(iterable, **kwarg)
利用dict(iterable, **kwarg)方法创建一个字典。如果参数iterable是一个字典,就可以创建一个同样键值对的字典,再提供另外一个字典,就可以将这个字典的键值对增加到前面字典中。如果这个字典跟前面字典中有同名的参数,任然按照“最后一个有效”。所以还是会覆盖相同键对应的值。
>>> dicts = dict(d1,**d2)
>>> dicts
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
字典合并的新方法
在之前发布的Python3.9.0α4中,提供了合并运算符 |,用于很方便地实现两个字典的合并。但如果两个字典中有重名的键,依然是“最后一个有效”,与上面说的update()方法那样的操作结果是一样的。
>>> d1 = {'a': 1, 'b': 2}
>>> d2 = {'c': 3, 'd': 4}
>>> d3 = {'a': 10, 'c': 3, 'd': 4}
>>> 3 = d1 | d2
dicts 的内容变为 {'a': 1, 'b': 2, 'c': 3, 'd': 4},继续合并d3。
>>> dicts = d1 | d3
dicts的内容变为 {'a': 10, 'b': 2, 'c': 3, 'd': 4}。键a对应的值任然会被覆盖。
另外一个运算符 |=,它的作用是对字典进行原地修改,从本质上讲,与update()一样
>>> dicts = d1.copy()
>>> dicts |= d2
dicts的内容变为{'a': 1, 'b': 2, 'c': 3, 'd': 4}。
>>> dists |= d3
dicts的内容变为{'a': 10, 'b': 2, 'c': 3, 'd': 4}。
大概讲了一下关于合并字典的运算符。此外对asyncio、math、os等模块也有一些更新。等正式发布后,官方文档会有详细说明,敬请查看。
相关推荐
-
- 内存清理大师(内存清理大师V1.2.6官方版)
-
1、打开手机清理大师应用APP2、点击扫描垃圾3、在弹出来的窗口点击清理垃圾4、最后即可清理完成在手机中设置里的通用里储存空间与iCloud进行清除。操作方法点开设置->通用->储存空间与iCloud用量点击储存空间-...
-
2026-01-23 17:03 off999
- 登录器下载安装(云端辅助登录器下载安装)
-
有其他的程序正在使用中,你电脑重新启动一次再删除dlq试试,或者把其他的程序都关了然后再重新安装一次再删除.祝你好运!!!!!!!!!!!!1国服的下载很简单,和当年CF、逆战的方式一样,我们直接...
-
- 下载拼音打字输入法(下载拼音汉字输入法)
-
你下载百度手机输入法,默认的就是双拼,可以自己选择26键拼音输入、右键单击桌面右下角的搜狗输入法工具条,将鼠标移到“软键盘”上,然后选择“拼音字母”即可使用这个功能。输入法使用技巧:1、输入法一般支持符号输入,可以右键单击候选框,之后点击“...
-
2026-01-23 16:43 off999
- 彩铃定制(彩铃定制流程)
-
演示品牌型号:联想拯救者R720;系统:Windows10;软件:Chrome88.0。1、用浏览器搜索定制手机彩铃,点击移动官网,进入后点击左上角登录,账户就是自己的手机号,密码就是在营业厅办理需要...
- 同他聊交友软件(他聊软件吗)
-
好他聊app一款优质便捷的单身男女在线互动交友平台,来他聊app遇见更多有趣有料的小伙伴,支持语音通话视频互动,更可以每日分享生活动态。他聊app你可以通过文字、语音、视频等多种方式与同城附近异性聊天...
- 360官方(360官方正版免费下载安装)
-
https://yunpan.360.cn/360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全、便携、稳定的跨平台文件存储、备份、传递和共享服务。360云盘是...
-
- 漫画全免费的看漫画软件下载
-
要是看动漫的话可以用迅雷看看或者PPTV,但是漫画的话4399小游戏里面就有漫画有漫画岛、漫画大全、爱漫画、腾讯动漫、大角虫、快看漫画、布卡漫画和微信读书。1、漫画岛:是一款适用于手机的热门漫画阅读软件。最全的二次元看漫画神器。分安卓版和...
-
2026-01-23 15:43 off999
- 服务器品牌前十大排名(国产服务器品牌前十大排名)
-
品牌排名企业1.Dell戴尔2.Hewlett-Packard惠普3.IBMIBM4.NetApp美国网比较安全系统5.Hitachi日立6.Or...
- mp3在线剪辑工具免费(mp3在线剪切软件下载)
-
风云音频处理大师风云音频处理大师是一款相当出色的专业化音频处理软件。小编使用比较多的也是风云音频处理大师,它的功能全面,能够帮助用户快速上手音频剪辑,还可以对音频的噪音进行降噪处理,对音频进行调速、拼...
- photoshop怎么抠图(ps怎么抠出想要的部分)
-
首先用ps打开要抠的图片,然后鼠标点击菜单栏:选择-色彩范围2,吸管吸取要抠的水,这里要慢慢调节,选择水的最佳位置。选取后,鼠标点击确定3,这时候抠水的部分就被选中,我们就按键盘上的ctrl+j复制,...
- 中国电信测速平台(中国电信测速平台有哪些)
-
山东省电信测速网站的网址是http://10000.sd.cn/。这个网站可以测试山东电信宽带的网速,方便用户了解自己的网络状况。下载电信的宽带助手就可以,给你个网址链接http://gd.189.c...
- 12306列车时刻表查询最新(下载火车时刻表查询最新时刻表)
-
、铁路12306app查询打开手机12306软件,进到首页后,点击下方“我的”,点击左上方头像位置,进入登录/注册页面后,登录12306账号,进到首页面后,点击下方的“订单”,点击“本人车票”,就能看...
- 宇宙战舰类游戏(宇宙战舰类游戏排行榜)
-
亚顿之矛,可以帮星灵度过最危难的时刻船内休眠着一整支圣堂武士部队,74千米的长度内安置着一颗人造(星灵制造)恒星。
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
linux软件(linux软件图标)
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
