前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】python字典合并有哪些规范?

【说站】python字典合并有哪些规范?

作者头像
很酷的站长
发布2022-11-23 10:46:02
3690
发布2022-11-23 10:46:02
举报
文章被收录于专栏:站长的编程笔记

python字典合并有哪些规范?

1、字典合并返回新字典,该字典由左操作数和右操作数合并,各操作数必须为dict(或dict子类实例)。如果两个操作数中有一个键,最后出现的值(即从右侧操作数的值)将被覆盖。

代码语言:javascript
复制
>>> d = {'spam': 1, 'eggs': 2, 'cheese': 3}
>>> e = {'cheese': 'cheddar', 'aardvark': 'Ethel'}
>>> d | e
{'spam': 1, 'eggs': 2, 'cheese': 'cheddar', 'aardvark': 'Ethel'}
>>> e | d # 不符合交换律,左右互换操作数会得到不同的结果
{'aardvark': 'Ethel', 'spam': 1, 'eggs': 2, 'cheese': 3}

2、扩展赋值的行为与字典的update方法完全相同,支持实现映射协议(更准确地实现keys和__getitem_方法)或重复对象。

代码语言:javascript
复制
>>> d | [('spam', 999)]   # “原理”章节中提到限制操作数的类型,不是字典或字典子类就报错
Traceback (most recent call last):
  ...
TypeError: can only merge dict (not "list") to dict
 
>>> d |= [('spam', 999)]  # “原理”章节中提到允许就地运算符接受更广泛的类型,其行为和 update 一样,接受键值对迭代对象
>>> d
{'eggs': 2, 'cheese': 'cheddar', 'aardvark': 'Ethel', 'spam': 999}

以上就是python字典合并的规范,希望对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python字典合并有哪些规范?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档