返回顶部
首页 > 资讯 > 后端开发 > Python >python ChainMap怎么使用
  • 307
分享到

python ChainMap怎么使用

2023-07-05 08:07:52 307人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本文小编为大家详细介绍“python ChainMap怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python ChainMap怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧

本文小编为大家详细介绍“python ChainMap怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python ChainMap怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

链接字典

chainMap是逻辑上合并两个字典为一个逻辑单元,合并后的结构实际上是一个列表,只是逻辑上是仍然为一个字典(并未生成新的),对此列表的操作模拟了各种字典的操作。合并后的取值及操作仍然是对原始字典的操作。

相同的key值合并后取第一个字典里的值作为重复key的值,

from collections import ChainMap dict1={"x":1,"y":3,"t":12}dict2={"x":5,"z":3} chain_dict=ChainMap(dict1,dict2)#相同的key值合并后取第一个dict里的值作为重复key的值print(chain_dict["x"])print(chain_dict["z"])

结果:

1
3

对chain_dict的增删改查影响的都是第一个字典

from collections import ChainMap dict1={"x":1,"y":3,"t":12}dict2={"x":5,"z":3} chain_dict=ChainMap(dict1,dict2)#对chain_dict的增删改查影响的都是dict1chain_dict["a"]=10print(dict1)chain_dict["x"]=100print(dict1)del dict1["t"]print(dict1)print(dict2)

 结果:

{'x': 1, 'y': 3, 't': 12, 'a': 10}
{'x': 100, 'y': 3, 't': 12, 'a': 10}
{'x': 100, 'y': 3, 'a': 10}
{'x': 5, 'z': 3}

maps属性可输出所以合并的字典

from collections import ChainMapdict1={"x":1,"y":3,"t":12}dict2={"x":5,"z":3} chain_dict=ChainMap(dict1,dict2)print(chain_dict.maps)

结果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]

new_child()方法是在合并后的映射列表头部位置插入空映射{}

from collections import ChainMapdict1={"x":1,"y":3,"t":12}dict2={"x":5,"z":3} chain_dict=ChainMap(dict1,dict2)print(chain_dict.maps)a=chain_dict.new_child()print(a)print(a.maps)

结果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
ChainMap({}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
[{}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]

new_child()可以衍生出parent()方法的使用,parent()其实是在合并后的映射列表去掉头部位置第一个映射后的结果:

from collections import ChainMapdict1={"x":1,"y":3,"t":12}dict2={"x":5,"z":3}chain_dict=ChainMap(dict1,dict2)print(chain_dict.maps)a=chain_dict.new_child()print(a)print(a.maps)b=a.parentsprint("b=",b)bb=b.parentsprint("bb=",bb)

结果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
ChainMap({}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
[{}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
b= ChainMap({'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
bb= ChainMap({'x': 5, 'z': 3})

链接字典的应用:

链接字典及它的new_child和parent方法特性适合处理作用域及查找链类似问题:

1,查找链

import builtinspylookup = ChainMap(locals(), globals(), vars(builtins))

2,作用域

比如用户指定的命令行参数优先于环境变量的示例,而环境变量优先于默认值:

import os, argparse defaults = {'color': 'red', 'user': 'guest'} parser = argparse.ArgumentParser()parser.add_argument('-u', '--user')parser.add_argument('-c', '--color')namespace = parser.parse_args()command_line_args = {k:v for k, v in vars(namespace).items() if v} combined = ChainMap(command_line_args, os.environ, defaults)print(combined['color'])print(combined['user'])

读到这里,这篇“python ChainMap怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网Python频道。

--结束END--

本文标题: python ChainMap怎么使用

本文链接: https://lsjlt.com/news/350559.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python ChainMap怎么使用
    本文小编为大家详细介绍“python ChainMap怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python ChainMap怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-05
  • python ChainMap的使用详解
    目录链接字典链接字典的应用:链接字典及它的new_child和parent方法特性适合处理作用域及查找链类似问题:链接字典 chainMap是逻辑上合并两个字典为一个逻辑单元,合并后...
    99+
    2023-03-02
    python ChainMap的使用 python ChainMap
  • python中怎么优化ChainMap的调用效率
    python中怎么优化ChainMap的调用效率?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,...
    99+
    2023-06-14
  • python ChainMap管理用法实例讲解
    说明 ChainMap的主要用例是提供一种有效的方法来管理多个范围或上下文,并处理重复键的访问优先级。 当有多个存储重复键的字典访问它们的顺序时,这个功能非常有用。 在ChainMap文档中找到一个经典的例子,它模拟...
    99+
    2022-06-02
    python ChainMap
  • 怎么使用Python库
    本篇内容介绍了“怎么使用Python库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据科学的五个重要步骤包括:获取数据清理数据探索数据构建...
    99+
    2023-06-16
  • python tempfile怎么使用
    Python的`tempfile`模块是用来创建临时文件和临时文件夹的工具。以下是使用`tempfile`模块的一些常见方法:1. ...
    99+
    2023-09-28
    python
  • python findnext怎么使用
    `findnext` 是一个函数,用于在字符串中查找下一个匹配项的索引。它的使用方法如下:```pythonindex = stri...
    99+
    2023-09-01
    python
  • Python baidupcs怎么使用
    Baidupcs是一个Python的开源库,用于访问和操作网盘的文件和目录。下面是一个简单的例子,演示如何使用baidupcs库:1...
    99+
    2023-09-21
    Python
  • Python怎么使用ClickHouse
    本文小编为大家详细介绍“Python怎么使用ClickHouse”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么使用ClickHouse”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ClickHo...
    99+
    2023-06-30
  • Python torch.nn.SiLU怎么使用
    在使用Python中的torch.nn.SiLU之前,需要先导入torch和torch.nn模块。torch.nn.SiLU是PyT...
    99+
    2023-10-24
    Python
  • Python Casting怎么使用
    指定变量类型有时您可能需要为变量指定类型,这可以通过 casting 来完成,Python 是一门面向对象的语言,因此它使用类来定义数据类型,包括其原始类型。因此,使用构造函数完成在 python 中的转换:int() - 用整数字面量、浮...
    99+
    2023-05-16
    Python
  • 怎么使用Laboratory Python
    这篇文章主要讲解了“怎么使用Laboratory Python”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Laboratory Python”吧!Laboratory 是一个 Py...
    99+
    2023-06-02
  • python Tkinter怎么使用
    这篇文章主要介绍“python Tkinter怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python Tkinter怎么使用”文章能帮助大家解决问题。简介tkinte...
    99+
    2023-07-05
  • Python ttkbootstrap怎么使用
    今天小编给大家分享一下Python ttkbootstrap怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-05
  • python怎么使用pip
    pip 是 python 的包管理工具,用于管理第三方包。其使用方法包括:安装包:pip install 卸载包:pip uninstall 升级包:pip install --upg...
    99+
    2024-05-22
    python
  • Python的Tuple怎么使用
    本篇内容主要讲解“Python的Tuple怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的Tuple怎么使用”吧!一 介绍类名:tuple(...
    99+
    2024-04-02
  • python中pip怎么使用
    这篇文章主要介绍了python中pip怎么使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。pip使用详解1 pip安装包# pi...
    99+
    2024-04-02
  • 怎么使用Python爬虫
    本篇内容介绍了“怎么使用Python爬虫”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!导入模块import re fro...
    99+
    2023-06-16
  • 怎么使用Python功能
    这篇文章主要讲解了“怎么使用Python功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python功能”吧!变量赋值正如函数*args和**kwargs,在变量赋值中可以运用相同...
    99+
    2023-06-16
  • Python怎么使用模块
    这篇文章给大家分享的是有关Python怎么使用模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.1 导入模块import 模块名form 模块名import 功能名form 模块名 import *impor...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作