在 Python 3.3中,向 collections
模块添加了一个 ChainMap
类:
ChainMap 类用于快速链接多个映射 因此,它们可以被视为一个单一的单位。它往往比 创建一个新字典并运行多个 update ()调用。
例如:
>>> from collections import ChainMap
>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 10, 'c': 11}
>>> z = ChainMap(y, x)
>>> for k, v in z.items():
print(k, v)
a 1
c 11
b 10
它受到 这个问题的激励,并由 这个公开(没有创建 PEP
)。
据我所知,这是一个替代有一个额外的字典和维护它与 update()
。
问题是:
ChainMap
涵盖哪些用例?ChainMap
的例子吗?附加问题: 有没有办法在 Python 2.x 上使用它?
我在 Raymond Hettinger 的 Transforming Code into Beautiful, Idiomatic Python
PyCon 演讲中听说过它,我想把它添加到我的工具箱中,但是我不知道什么时候应该使用它。