There was a somewhat ancient discussion on OrderedDict and OrderedSet before: http://mail.python.org/pipermail/python-dev/2005-March/051915.html
The resolution seemed to be that neither of them should be in stdlib. Now that OrderedDict is in and Raymond Hettinger has created a solid OrderedSet implementation: http://code.activestate.com/recipes/576694/ , could the latter also be included in collections?
Here's a very generic use-case:
def _update_key(dct, key, val):
"""
Update a key in dict *dct*. If they key already exists in *dct* but the
value doesn't, a set of previous values is created and the value added to it.
"""
if key in dct:
if dct[key] == val:
return
s = set(dct[key])
s.update(val)
dct[key] = s
else:
dct[key] = val
The problem is that I both need to remove duplicates and retain insertion order like list.append().