Many-to-many pattern possiable?

Raymond Hettinger python at rcn.com
Sat May 19 13:19:44 EDT 2007


On May 19, 9:33 am, Jia Lu <Roka... at gmail.com> wrote:
>  I see dict type can do 1-to-1 pattern, But is there any method to do
> 1-to-many, many-to-1 and many-to-many pattern ?

>>> mm = {'a': ['A', 'B', 'C'], 'c': ['C', 'D', 'E'], 'b': ['A', 'D']}

>>> # Now, invert the relation
>>> mmr = {}
>>> for k, seq in mm.items():
...     for elem in seq:
...         mmr.setdefault(elem, []).append(k)
>>> mmr
{'A': ['a', 'b'], 'C': ['a', 'c'], 'B': ['a'], 'E': ['c'], 'D': ['c',
'b']}


> What about using some
> Serialized objects?

from pickle import loads, dumps
d = dict(a=dumps(someobj), b=dumps(anotherobj))
obj = loads(d['a'])


Raymond




More information about the Python-list mailing list