Skip to content

gruns/orderedmultidict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d3912b8 Β· Mar 14, 2022
Mar 13, 2022
Mar 14, 2022
Feb 26, 2020
Feb 26, 2020
Mar 17, 2018
Jun 14, 2018
Apr 5, 2016
Oct 13, 2018
Aug 4, 2018
Feb 28, 2020
Aug 29, 2018
Jun 4, 2021
Jun 4, 2021

Repository files navigation

orderedmultidict
orderedmultidict

omdict is an ordered multivalue dictionary that retains
method parity with Python's dict and helps power furl.

A multivalue dictionary is a dictionary that can store multiple values per
key. An ordered multivalue dictionary is a multivalue dictionary that
retains the order of insertions and deletions.

orderedmultidict is well tested, Unlicensed in the public domain,
supports Python 2, Python 3, PyPy2, and PyPy3.

Code time: omdict can store multiple values per key.

>>> from orderedmultidict import omdict
>>> omd = omdict()
>>> omd[1] = 1
>>> omd[1]
1
>>> omd.add(1, 11)
>>> omd.getlist(1)
[1, 11]
>>> omd.addlist(1, [111, 1111])
>>> omd.getlist(1)
[1, 11, 111, 1111]
>>> omd.allitems()
[(1, 1), (1, 11), (1, 111), (1, 1111)]

omdict retains insertion and deletion order.

>>> omd = omdict()
>>> omd[2] = 2
>>> omd[1] = 1
>>> omd.items()
[(2, 2), (1, 1)]
>>> omd[2] = 'sup'
>>> omd.items()
[(2, 'sup'), (1, 1)]

Method parity with dict is retained; omdict can be a drop-in replacement.

>>> d, omd = dict(), omdict()
>>> d.update([(1,1), (1,11), (2,2), (2,22)])
>>> omd.update([(1,1), (1,11), (2,2), (2,22)])
>>> d[1], omd[1]
(11, 11)
>>> d[3] = 3
>>> omd[3] = 3
>>> d.get(3), omd.get(3)
(3, 3)
>>> d.items() == omd.items()
True

API

See all of omdict's methods, with examples, in omdict's API document,
API.md.

Installation

Installing orderedmultidict with pip is easy.

$ pip install orderedmultidict

About

πŸ“š Ordered Multivalue Dictionary. Powers furl.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages