• 技术文章 >Python技术 >Python基础教程

    python中ChainMap是什么

    小妮浅浅小妮浅浅2021-09-14 09:26:36原创2721

    概念

    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的介绍,希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python chainmap
    上一篇:python等待方式的介绍 下一篇:python中ChainMap如何实例化

    相关文章推荐

    • Python高级架构模式的整理• python超参数如何优化• python模型集成是什么• Python制作七夕比心表白• python os.chdir()的使用• python OpenCV加法操作的实现• python OpenCV中的光学字符识别介绍• python OpenCV的图像处理• python中Qt是什么• python浏览器操作有哪些• python等待方式的介绍• 常用6种顶级Python文本编辑器

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网