python - 在 python 中合并两个字典 View

标签 python dictionary merge

如何在 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/

相关文章:

python - 提高 pytesseract 从图像中正确识别文本的能力

python - 如何在python中从文件中的字典中添加多个值

javascript - 从 2 个数组创建一个字典( MAP )

python - 迭代 float 列表

python - fatal error : cuda_runtime_api. h:尝试在 docker 中使用 cuda 时没有这样的文件或目录

python - 有什么好方法对时间序列股票数据进行分组吗?

dictionary - matplotlib 条形图从类别数据框列添加图例

git - 重新使用 Git 的冲突解决方案

MySQL 合并具有相同 ID 的行,同时保留时间戳

algorithm - 为什么它能够在 82 和 10 之间 split ?