用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。