Skip to content
/ dyndict Public

Dynamic Dictionary for Python adds support for add operation.

License

Notifications You must be signed in to change notification settings

pnoj/dyndict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DynDict

Python test PyPI - Downloads

Dynamic Dictionary class for Python adds support for add operation for dictionary classes.

Demo

Behold, the power of DynDict:

Python 3.8.3 (default, May 17 2020, 18:15:42) 
[GCC 10.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from dyndict import dyndict
>>> dyn = dyndict(refer_by='name')
>>> dyn
{}
>>> dyn += {'a': []}
>>> dyn
{'a': []}
>>> dyn += {'a': [{'name': 'a', 'value': 1}]}
>>> dyn
{'a': [{'name': 'a', 'value': 1}]}
>>> dyn += {'a': [{'name': 'b', 'value': 2}]}
>>> dyn
{'a': [{'name': 'a', 'value': 1}, {'name': 'b', 'value': 2}]}
>>> dyn += {'a': [{'name': 'a', 'key': 'one'}]}
>>> dyn
{'a': [{'name': 'a', 'value': 1, 'key': 'one'}, {'name': 'b', 'value': 2}]}
>>> dyn += {'a': [{'name': 'b', 'key': 'two'}]}
>>> dyn
{'a': [{'name': 'a', 'value': 1, 'key': 'one'}, {'name': 'b', 'value': 2, 'key': 'two'}]}
Python 3.8.3 (default, May 17 2020, 18:15:42) 
[GCC 10.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from dyndict import dyndict
>>> dyn = dyndict()
>>> dyn
{}
>>> dyn += {'a': 1}
>>> dyn
{'a': 1}
>>> dyn += {'b': 1}
>>> dyn
{'a': 1, 'b': 1}
>>> dyn += {'b': 1}
>>> dyn
{'a': 1, 'b': 2}
>>> dyn += {'list': []}
>>> dyn
{'a': 1, 'b': 2, 'list': []}
>>> dyn += {'list': [1, 2, 3]}
>>> dyn
{'a': 1, 'b': 2, 'list': [1, 2, 3]}
>>> dyn += {'list': [{'z': 26}]}
>>> dyn
{'a': 1, 'b': 2, 'list': [1, 2, 3, {'z': 26}]}
>>> dyn['a']
1
>>> dyn['list'][3]
{'z': 26}

Installation

pip install dyndict