第二章:数据结构-collections:容器数据类型-ChainMap:搜索多个字典(1)

2.2 collections:容器数据类型
collections模块包含除内置类型list,dict和tuple以外的其他容器数据类型。

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

2.2.1.1 访问值
ChainMap支持与常规字典相同的API来访问现有的值。

import collections

a = {'a':'A','c':'C'}
b = {'b':'B','c':'D'}

m = collections.ChainMap(a,b)

print('Individual Values')
print('a = {}'.format(m['a']))
print('b = {}'.format(m['b']))
print('c = {}'.format(m['c']))
print()

print('Keys = {}'.format(list(m.keys())))
print('Values = {}'.format(list(m.values())))
print()

print('Items:')
for k,v in m.items():
    print('{} = {}'.format(k,v))

print()

print('"d" in m: {}'.format(('d' in m)))

按子映射传递到构造函数的顺序来搜索这些子映射,所以对应键‘C’报告的值来自a字典。
运行结果:
第二章:数据结构-collections:容器数据类型-ChainMap:搜索多个字典(1)_第1张图片

你可能感兴趣的:(Python标准库)