跳转到主要内容

Python `dict`具有merge()方法。

项目描述

mergedict - 具有merge()方法的Python dict

https://travis-ci.org/schettino72/mergedict.png?branch=master https://coveralls.io/repos/schettino72/mergedict/badge.png

MergeDict是一种具有merge()方法的dict。 merge()类似于dict.update()...

from mergedict import MergeDict

d1 = MergeDict({'a': 1, 'b': 'one'})
d1.merge({'a':2, 'c': [2]})

assert d1 == {'a': 2, 'c': [2], 'b': 'one'}

MergeDict可以被继承以根据项目值类型创建自定义“合并”操作。

from mergedict import MergeDict

class SumDict(MergeDict):
      @MergeDict.dispatch(int)
      def merge_int(this, other):
          return this + other

d2 = SumDict({'a': 1, 'b': 'one'})
d2.merge({'a':2, 'b': 'two'})

assert d2 == {'a': 3, 'b': 'two'}

mergedict模块包含一个会扩展/更新列表/集合/字典的ConfigDict

from mergedict import ConfigDict

d3 = ConfigDict({'a': 1, 'my_list': [1, 2]})
d3.merge({'a':2, 'my_list': [3, 4]})

assert d3 == {'a': 2, 'my_list': [1, 2, 3, 4]}

项目详情

许可

MIT许可版权(c)2013 Eduardo Naufel Schettino

查看LICENSE文件

开发者/贡献者

  • Eduardo Naufel Schettino — 主要作者

  • Sebastian Pipping — 构建系统修复

安装

$ pip install mergedict

或下载并

$ python setup.py install

测试

运行测试

$ py.test

项目详情


下载文件

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

源代码发行版

mergedict-1.0.0.tar.gz (5.2 kB 查看哈希值)

上传时间 源代码

构建发行版

mergedict-1.0.0-py3-none-any.whl (4.5 kB 查看哈希值)

上传时间 Python 3

由以下支持