ChainMap是dict的子类,拥有dict的所有功能, 感觉用它的地方吧???

from collections import ChainMap

"""
相当于join两个dict的操作 """ # 示例1
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4} chain_dict = ChainMap(dict1, dict2)
for k, v in chain_dict.items():
print(k, v) '''
打印结果:
c 3
d 4
a 1
b 2
''' print('-' * 50) # 示例2 dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "d": 4} chain_dict = ChainMap(dict1, dict2)
for k, v in chain_dict.items():
print(k, v) '''
打印结果: b只出现了一次,就是首次的值
b 2
d 4
a 1 '''
print('-' * 50)
# 示例3
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4} chain_dict = ChainMap(dict1, dict2) chain_dict.update({'e': 8}) for k,v in chain_dict.items():
print(k,v) '''
c 3
d 4
a 1
b 2
e 8
''' print('-' * 50)
# 示例4
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4} chain_dict = ChainMap(dict1, dict2) print(chain_dict) # Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.' 感觉没啥用
item = chain_dict.popitem()
print(item) # ('b', 2) # pop也只能弹出chain_map[0]中的元素,有点鸡
value = chain_dict.pop('a')
print(value) #
print(chain_dict) # ChainMap({}, {'c': 3, 'd': 4}) print('-' * 50)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4} chain_dict = ChainMap(dict1, dict2) # new_chain_dict = chain_dict.new_child()
# print(new_chain_dict) # ChainMap({}, {'a': 1, 'b': 2}, {'c': 3, 'd': 4}) , 这有啥用呀 # 在chain_map添加一个新的dict
new_chain_dict = chain_dict.new_child({'name':'admin'})
print(new_chain_dict) # ChainMap({'name': 'admin'}, {'a': 1, 'b': 2}, {'c': 3, 'd': 4})

ChainMap简单示例的更多相关文章

  1. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

  2. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  3. 根据juery CSS点击一个标签弹出一个遮罩层的简单示例

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  5. demo工程的清单文件及activity中api代码简单示例

    第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...

  6. spring-servlet.xml简单示例

    spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...

  7. SignalR 简单示例

    一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...

  8. Web API 简单示例

    一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...

  9. XML引入多scheme文件约束简单示例

    XML引入多scheme文件约束简单示例,用company.xsd和department.xsd来约束company.xml: company.xsd <?xml version="1 ...

随机推荐

  1. 自定义控件 - 字母索引 : LetterIndexView

    实现字母列表,滑动列表显示当前选中字母,回调接口. 1.实现字母列表.初始化相关属性.计算每个字母所占宽高.绘制字母A-Z,#. private int itemWidth;//每个字母所占宽度 pr ...

  2. Vue知识整理3:v-once的使用

    v-once可以使得数据绑定只绑定一次,后期不会再改变,如下图所示:

  3. Delphi XE2 之 FireMonkey 入门(26) - 数据绑定: TBindingsList: TBindExprItems

    Delphi XE2 之 FireMonkey 入门(26) - 数据绑定: TBindingsList: TBindExprItems 如果要给一对 "源控件" 和 " ...

  4. UDP 首部的格式

    <图解TCP/IP>6.6 UDP首部的格式 源端口号:表示发送端端口号,字段长16位.该字段是可选项,有时可能不会设置源端口号.没有源端口号的时候该字段的设置为0.可用于不需要返回的通信 ...

  5. 利用Python进行windows系统上的图像识别与点击(Mac OS系统也可以)

    系统环境: 1.安装了python 2.安装了pyautogui模块 windows系统:无需安装依赖模块,在cmd中直接输入pip install pyautogui即可完成安装 Mac OS系统: ...

  6. selenium验证码处理之cookie登录

    在实际测试中会经常见到登录操作需要验证码验证登录 常见验证有以下几种: 验证码登录 图片识别   图片滑块识别验证   4.简单验证码计算 针对上面的登录验证解决办法有以下几种: 1.让开发去掉验证码 ...

  7. 20190920 On Java8 第二十章 泛型

    第二十章 泛型 多态的泛化机制: 将方法的参数类型设为基类: 方法以接口而不是类作为参数: 使用泛型: 泛型实现了参数化类型 简单泛型 Java 泛型的核心概念:你只需告诉编译器要使用什么类型,剩下的 ...

  8. 常用js方法封装使用

    // 冒泡排序 export function bubbleSort(arr) { let i = arr.length - 1; while (i > 0) { let maxIndex = ...

  9. 前端 CSS的选择器 基本选择器 类选择器

    类选择器 符号是.开头 然后类的名字 样式类名不要用数字开头(有的浏览器不认). 所谓类就是class,.class与id非常相似,任何标签都可以加类,但是类可以重复 通过样式类选择元素: 示例: & ...

  10. ModelForm基本使用

    介绍 Django提供Form和ModelForm两种表单验证方式.相比较Form,ModelForm可以直接与与数据库表相关联,不需要像Form那样需要手动逐一字段添加表单验证的字段.且可以随意选择 ...