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})

最新文章

  1. XML语言基础2 DTD
  2. 提交form表单
  3. HTML 学习笔记 JavaScript (节点)
  4. Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总
  5. js之正则1
  6. pace.js和NProgress.js两个加载进度插件的一点小总结
  7. Linux环境变量文件environment, profile, bashrc含义
  8. Java compiler level does not match the version of the installed Java project facet.解决办法
  9. BZOJ NOI十连测 第一测 T1
  10. 给VS自动添加注释
  11. HBase缓存的使用
  12. PC逆向之代码还原技术,第一讲基本数据类型在内存中的表现形式.浮点,指针寻址公式
  13. nginx 防止盗链
  14. ElasticSearch 索引 剖析
  15. ③NuPlayer播放框架之类NuPlayer源码分析
  16. Giraph源代码分析(九)—— Aggregators 原理解析
  17. 啰哩吧嗦式讲解在windows 家庭版安装docker
  18. Ansible之tags介绍
  19. 20145319 return-to-libc攻击实验
  20. D3介绍

热门文章

  1. liunx 定时任务crontab格式说明
  2. C#实现京东登录密码加密POST
  3. SVG.JS 画弧线
  4. python基础-6 正则表达式
  5. python列表-简单操作
  6. iBatis框架之配置文件之注意点之总结
  7. vue2.0 watch里面的 deep和immediate作用
  8. FZUOJ-2275 Game
  9. P5504 [JSOI2011]柠檬
  10. echarts柱状图个数多,横坐标名称过长显示不全解决方法