跳转到主要内容

支持递归加法和减法合并的字典

项目描述

MeldDict badge

一个字典子类,支持添加和减去其他映射以执行递归合并和删除。

默认情况下,列表也会合并,但这可以配置。您还可以自动删除减法后值为空的键。

完整文档可在以下网址在线获取: https://melddict.readthedocs.io/

示例

您可以添加两个映射以将它们合并

meld_dict = MeldDict({'a': 'a',
                      'b': [1, 2],
                      'c': {'1': 1},
                      'd': 'd'})
norm_dict = {'b': [3, 4],
             'c': {'2': 2},
             'd': 'D',
             'e': 'e'}
meld_res = meld_dict + norm_dict
meld_res == {'a': 'a',
             'b': [1, 2, 3, 4],
             'c': {'1': 1, '2': 2},
             'd': 'D',
             'e': 'e'}
meld_dict += norm_dict  # a.k.a. meld_dict.add(norm_dict)
meld_dict == meld_res

您还可以从一个映射中减去另一个映射

meld_dict = MeldDict({'a': 'a',
                      'b': [1, 2],
                      'c': {'1': 1, '2': 2},
                      'd': 'd'})
norm_dict = {'b': [2, 3],
             'c': {'2': 2, '3': 3},
             'd': 'D',
             'e': 'e'}
meld_res = meld_dict - norm_dict
meld_res == {'a': 'a',
             'b': [1],
             'c': {'1': 1}}
meld_dict -= norm_dict  # a.k.a. meld_dict.subtract(norm_dict)
meld_dict == meld_res

变更日志

1.0.0

周二,2018年4月3日

  • 首次发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

melddict-1.0.1.tar.gz (8.1 kB 查看散列)

上传时间

支持