[Python-Dev] Proposal: add odict to collections (original) (raw)
Armin Ronacher armin.ronacher at active-4.com
Sun Jun 15 07:42:19 CEST 2008
- Previous message: [Python-Dev] Proposal: add odict to collections
- Next message: [Python-Dev] Proposal: add odict to collections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hasan Diwan <hasan.diwan gmail.com> writes:
2008/6/14 Talin <talin acm.org>: > There's been a lot of controversy/confusion about ordered dicts. One of the > sources of confusion is that people mean different things when they use the > term "ordered dict": In some cases, the term is used to mean a dictionary > that remembers the order of insertions, and in other cases it is used to > mean a sorted dict, i.e. an associative data structure in which the entries > are kept sorted. (And I'm not sure that those are the only two > possibilities.) Have the comparison function passed in as a parameter then, if it's None, then have it maintain the order of insertion? Something like: def init(self, cmpfunc = None): self.dict = dict() I think that would be contraproductive and would make the constructor incompatible with the normal dict constructor which accepts keyword arguments too. Also that dict is just in order, but not sorted by something. You could still do something like this:
d = odict()
d['Pinguin'] = 'telly'
d['Parrot'] = 'cage'
d['Mouse'] = 'Napoleon'
d.sort(key=lambda x: x[1].lower())
That of course would not sort items inserted after the sort call.
Regards, Armin
- Previous message: [Python-Dev] Proposal: add odict to collections
- Next message: [Python-Dev] Proposal: add odict to collections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]