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