Package Bio :: Package EUtils :: Module MultiDict :: Class UnorderedMultiDict
[show private | hide private]
[frames | no frames]

Class UnorderedMultiDict

_BaseMultiDict --+
                 |
                UnorderedMultiDict


Store key/value mappings.

Acts like a standard dictionary with the following features:
>>> ud = UnorderedMultiDict([("Food", "Spam"), ("Color", "Blue"),
...                          ("Food", "Eggs"), ("Color", "Green")])
>>> ud["Food"]
'Eggs'

>>> ud.getall("Food")
['Spam', 'Eggs']

>>>

The order of values from a given key (as from ud.getall("Food")) is guaranteed but the order between keys (as from od.allkeys() and od.allitems()) is not.

Can also pass in an object to the constructor which has an allitems() method that returns a list of key/value pairs.
Method Summary
  __init__(self, multidict)
  __delitem__(self, key)
Remove all values for the given key
  __eq__(self, other)
Does this UnorderedMultiDict have the same keys, with values in the same order, as another?
  __ne__(self, other)
Does this UnorderedMultiDict NOT have the same keys, with values in the same order, as another?
  __repr__(self)
  __setitem__(self, key, value)
Add a new key/value pair
  allitems(self)
iterate over all key/value pairs, in arbitrary order
  allkeys(self)
iterate over all keys in arbitrary order
  allvalues(self)
iterate over all values in arbitrary order

Method Details

__delitem__(self, key)
(Index deletion operator)

Remove all values for the given key

__eq__(self, other)
(Equality operator)

Does this UnorderedMultiDict have the same keys, with values in the same order, as another?

__ne__(self, other)

Does this UnorderedMultiDict NOT have the same keys, with values in the same order, as another?

__setitem__(self, key, value)
(Index assignment operator)

Add a new key/value pair

If the key already exists, replaces the existing value so that d[key] is the new value and not the old one.

To get all values for a given key, use d.getall(key).

allitems(self)

iterate over all key/value pairs, in arbitrary order

Actually, the keys are iterated in arbitrary order but all values for that key are iterated at sequence of addition to the UnorderedMultiDict.

allkeys(self)

iterate over all keys in arbitrary order

allvalues(self)

iterate over all values in arbitrary order

Generated by Epydoc 2.1 on Sat Jul 16 15:48:58 2005 http://epydoc.sf.net