如何在 python 中合并两个字典的项目的 View ?
我的用例是:我在一个类(class)中有两个私有(private)词典。我希望 API 将它们视为一个,并提供一个 items
方法。我知道的唯一方法是将它们结合起来,然后提供两者的 View ,但对于大型词典来说,这似乎很昂贵。我在想像 a.items() + b.items()
注意:我不关心键冲突。
这是我想改进的地方:
class A:
_priv1 = {'a': 1, 'b': 2}
_priv2 = {'c': 1, 'd': 2}
def items(self):
return {**self._priv1, **self._priv2}.items()
最佳答案
你可以使用ChainMap
:
from collections import ChainMap
class A:
_priv1 = {'a': 1, 'b': 2}
_priv2 = {'c': 1, 'd': 2}
def items(self):
return ChainMap(self._priv1, self._priv2)
关于python - 在 python 中合并两个字典 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54868833/