用法:
class collections.ChainMap(*maps)
ChainMap
将多个 dicts 或其他映射组合在一起以创建单个可更新的视图。如果未指定maps
,则提供一个空字典,以便新链始终具有至少一个映射。底层映射存储在列表中。该列表是公开的,可以使用
maps
属性访问或更新。没有其他状态。查找连续搜索底层映射,直到找到一个键。相反,写入、更新和删除仅对第一个映射进行操作。
ChainMap
通过引用合并底层映射。因此,如果基础映射之一得到更新,这些更改将反映在ChainMap
中。支持所有常用的字典方法。此外,还有一个
maps
属性、一个用于创建新子上下文的方法以及一个用于访问除第一个映射之外的所有内容的属性:请注意,
ChainMap()
的迭代顺序是通过扫描从最后到第一个的映射来确定的:>>> baseline = {'music': 'bach', 'art': 'rembrandt'} >>> adjustments = {'art': 'van gogh', 'opera': 'carmen'} >>> list(ChainMap(adjustments, baseline)) ['music', 'art', 'opera']
这给出了与从最后一个映射开始的一系列
dict.update()
调用相同的顺序:>>> combined = baseline.copy() >>> combined.update(adjustments) >>> list(combined) ['music', 'art', 'opera']
在 3.9 版中更改:增加了对
|
和|=
运算符,在PEP 584.
相关用法
- Python collections.Counter用法及代码示例
- Python collections.Counter.subtract用法及代码示例
- Python collections.Counter.total用法及代码示例
- Python collections.Counter.elements用法及代码示例
- Python collections.somenamedtuple._replace用法及代码示例
- Python collections.somenamedtuple._asdict用法及代码示例
- Python collections.somenamedtuple._field_defaults用法及代码示例
- Python collections.somenamedtuple._make用法及代码示例
- Python collections.somenamedtuple._fields用法及代码示例
- Python collections.OrderedDict.move_to_end用法及代码示例
- Python Wand color_matrix()用法及代码示例
- Python compile()用法及代码示例
- Python codecs.encode()用法及代码示例
- Python contextlib.AsyncContextDecorator用法及代码示例
- Python contextlib.AsyncExitStack用法及代码示例
- Python string count()用法及代码示例
- Python configparser.ConfigParser.readfp用法及代码示例
- Python code.compile_command()用法及代码示例
- Python complex()用法及代码示例
- Python configparser.ConfigParser.BOOLEAN_STATES用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 collections.ChainMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。