On 2007-09-14, Mark Summerfield <[EMAIL PROTECTED]> wrote:
> On 14 Sep, 02:35, Jürgen Urner <[EMAIL PROTECTED]> wrote:
>> Puh, what a discussion... most common use case I can think of is
>>
>> >> d = {'a': 1, 'b': 2, 'c': 3}
>> >> for key in d:
>> >>     # do something that relies on order of keys as specified in the 
>> >> constructor
>>
>> It's a bit tireing having to type
>>
>> >> for key in sorted(d.keys()):
>> >>     do_somethig_with(d[key])
>>
>> instead of a trustfully
>>
>> >> for value in d.values():
>> >>     do_somethig_with(value)
>>
>> As far as I can see much cleaner. No black magic needed ++ sort the
>> dict
>> to another order and rely on the sort order being stable would be a
>> really
>> a nice thing to have.
>>
>> My 2 cents,  Jürgen
>
> What I envisage is:
>
> d = ordereddict(a=1, x=20, b=35, m=4)
> # some time later
> d["e"] = 15
> # later still
> d["b"] = 70
> d.keys() # returns ['a', 'b', 'e', 'm', 'x']
> d.values() # returns [1, 70, 15, 4, 20]
>

which seems to be exactly what my avltree module mentioned earlier
provides.

>>> from avltree import Tree
>>> d=Tree(a=1, x=20, b=35, m=4)
>>> d["e"] = 15
>>> d["b"] = 70
>>> d.keys()
['a', 'b', 'e', 'm', 'x']
>>> d.values()
[1, 70, 15, 4, 20]

-- 
Antoon Pardon
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to