python ChainMap管理用法实例讲解

 更新时间:2021年08月18日 08:41:00   作者:小妮浅浅  
在本篇文章里小编给大家整理一篇关于python ChainMap的管理用法及相关实例,有需要的朋友们可以学参考下。

说明

1、ChainMap的主要用例是提供一种有效的方法来管理多个范围或上下文,并处理重复键的访问优先级。

2、当有多个存储重复键的字典访问它们的顺序时,这个功能非常有用。

在ChainMap文档中找到一个经典的例子,它模拟Python如何分析不同命名空间中的变量名称。

当Python搜索名称时,它会依次搜索当地、全局和内置的功能域,直到找到目标名称。Python作用域是将名称映射到对象的字典。

为了模拟Python的内部搜索链,可以使用链映射。

实例

>>> import builtins
 
>>> # Shadow input with a global name
>>> input = 42
 
>>> pylookup = ChainMap(locals(), globals(), vars(builtins))
 
>>> # Retrieve input from the global namespace
>>> pylookup["input"]
42
 
>>> # Remove input from the global namespace
>>> del globals()["input"]
 
>>> # Retrieve input from the builtins namespace
>>> pylookup["input"]
<built-in function input>

知识点扩展:

ChainMap类管理的是一个字典序列,并按其出现的顺序搜索以查找与键关联的值。ChainMap提供了一个很好的“上下文”容器,因此可以把它看成一个栈,栈增长时发生变更,栈收缩时这些变更被丢弃。

下面,我们来看看其基本的使用规则:

import collections

a = {"a": "A", "c": "c", }
b = {"b": "B", "c": "D", }

col = collections.ChainMap(a, b)
# 和普通字典一样访问
print(col["a"])
print(list(col.keys()), list(col.values()))

for key, value in col.items():
    print(key, value)

可以看到,在相同的key值情况下,只有子映射a的值。这也就是说明ChainMap是按子映射传递到构造函数的顺序来搜索这些子映射。

以上就是python ChainMap管理用法实例讲解的详细内容,更多关于python ChainMap的管理用法的资料请关注脚本之家其它相关文章!

相关文章

  • Python打工人必备之windows倒计时锁屏功能的实现

    Python打工人必备之windows倒计时锁屏功能的实现

    每个人的电脑里都会有不想让别人知道的隐私,或者是上班时间偷偷摸鱼怕被发现的小秘密。那怎么办?就干脆把隐私锁起来!从源头上杜绝被他人偷窥自己的隐私。本文就来用Python实现一个windows倒计时锁屏功能,需要的可以参考一下
    2023-04-04
  • python模拟鼠标点击和键盘输入的操作

    python模拟鼠标点击和键盘输入的操作

    这篇文章主要介绍了python模拟鼠标点击和键盘输入的操作,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python实现为Excel中每个单元格计算其在文件中的平均值

    Python实现为Excel中每个单元格计算其在文件中的平均值

    这篇文章主要为大家详细介绍了如何基于Python语言实现对大量不同的Excel文件加以跨文件、逐单元格平均值计算,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • 用python实现的去除win下文本文件头部BOM的代码

    用python实现的去除win下文本文件头部BOM的代码

    windows环境下新建或编辑文本文件,保存时会在头部加上BOM。使用ftp上传到linux下,在执行时第一行即报错。以下方法可以去除BOM头,有需要的朋友可以参考下
    2013-02-02
  • python实现图像识别功能

    python实现图像识别功能

    这篇文章主要为大家详细介绍了python实现图像识别功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 利用Python写一个爬妹子的爬虫

    利用Python写一个爬妹子的爬虫

    这篇文章主要给大家介绍了关于利用Python写一个爬妹子爬虫的相关资料,文中通过实例代码将实现的方法一步步介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • python RC4加密操作示例【测试可用】

    python RC4加密操作示例【测试可用】

    这篇文章主要介绍了python RC4加密操作,结合实例形式分析了python实现RC4加密功能的具体操作步骤与相关问题解决方法,需要的朋友可以参考下
    2019-09-09
  • python库JsonSchema验证JSON数据结构使用详解

    python库JsonSchema验证JSON数据结构使用详解

    这篇文章主要为大家介绍了python库JsonSchema验证JSON数据结构的使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python使用wxpy模块实现微信两两群组消息同步功能(推荐)

    Python使用wxpy模块实现微信两两群组消息同步功能(推荐)

    这篇文章主要介绍了Python使用wxpy模块实现微信两两群组消息同步,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python中的Numpy入门教程

    Python中的Numpy入门教程

    这篇文章主要介绍了Python中的Numpy入门教程,着重讲解了矩阵中的数组操作,需要的朋友可以参考下
    2014-04-04

最新评论