python中ChainMap是什么

python中ChainMap是什么

概念

1、ChainMap在collections中加入Python3.3作为一个方便的工具范围和环境进行管理。

可以把多个字典和其他映射结合起来,使它们在逻辑上显示并表现为一个整体。它创建了一个单一的可更新视图,其工作模式类似于常规字典,但有一些内部差异。

2、ChainMap不会合并它的映射。相反,它们被保存在内部映射列表中。

ChainMap在列表顶部重新实现常见的字典操作。因为内部列表保存引用原始输入映射,这些映射中的任何变化都会影响整个chainMap对象。

将输入映射存储在列表中,允许您在给定的链映射中有重复键。如果您查找执行键,ChainMap搜索映射列表,直到您找到第一个目标键。如果钥匙丢失,你会像往常一样得到一个。

当需要管理嵌套作用域时,将映射存储在列表中将真正发挥作用,每个映射代表一个特定的作用域或上下文。

为了更好地理解功能域和上下文的含义,请考虑Python如何分析名称。当Python搜索名称时,它会在locals()、globals()和中搜索,最后builtins直到找到第一个目标名称。如果名字不存在,你会得到一个NameError.处理范围和上下文是你能解决的最常见的问题。

在使用ChainMap时,您可以使用不相交或相交的键链接多个字典。

首先,ChainMap允许你把所有的字典都当成一个。所以你可以像使用单个字典一样访问键值对。在第二种情况下,除了管理字典之外,您还可以使用内部映射列表为字典中的重复键来定义某种访问优先级。因此,ChainMap对象非常适合处理多个上下文。

ChainMap是一种奇怪的行为,它是一种突变,比如更新,添加,删除,清除和弹出键,它只作用于内部映射列表中的第一个映射。

ChainMap的主要功能:

从多个输入映射构建可更新的视图。

提供和字典差不多的界面,但是有一些额外的功能。

不合并输入映射,而是保存在内部公共列表中。

查看输入映射的外部变化。

可包含不同值的重复键。

按顺序搜索内部映射列表搜索键。

KeyErrror在搜索整个映射列表后缺少键时抛出a。

只改变内部列表中的第一个映射。



微信扫描下方的二维码阅读更多精彩内容

python中ChainMap是什么

每日分享到群里,或者推荐给朋友会得大量积分,机会可以兑换微信零钱红包,具体请点击这里,得到了微信红包可以用来支持大飞哥

大飞哥能不能加鸡腿就看各位了!

赞赏请扫

开发者微信

大飞哥微信

开发者微信反馈BUG或者VIP可以添加,其他情况反馈可能不及时,见谅

版权声明

初衷是提供高清手机电脑壁纸等图片素材免费分享下载,禁止商用。图片素材来源网络,版权归原作者所有,若有侵权问题敬请告知我们!

【友情提醒】:

因平台原因不易展示大尺度写真,有的写真展示越少代表此套写真越性感,特别是xiuren等写真每一套写真完整套图50-100张不等。更多内容的欣赏请移步 点击这里

【更多图集移步】: 每日更新-点击这里
漂亮小姐姐-点击这里
性感美女-点击这里
清纯女孩-点击这里
xiuren专栏-点击这里
整站资源下载-点击这里

相关新闻