[Python-ideas] ordered dict
Terry Reedy
tjreedy at udel.edu
Sat Apr 21 16:59:46 CEST 2007
"BJörn Lindqvist" <bjourne at gmail.com> wrote
in message
news:740c3aec0704202128g6537c5bfv94c0f60a5d883d76 at mail.gmail.com...
>On 4/20/07, Terry Reedy <tjreedy at udel.edu> wrote:
>> 2. Order in the sorting or collation sense, which I presume you mean.
>> To
>> reduce confusion, call this a sorted dictionary, as others have done.
>> Regardless, this has the problem that potential keys are not always
>> comparable.
Current example:
>>> [1, 1j].sort()
Traceback (most recent call last):
File "<pyshell#2>", line 1, in -toplevel-
[1, 1j].sort()
TypeError: no ordering relation is defined for complex numbers
>> This will become worse when most cross-type comparisons are
>> disallowed in 3.0.
> >>> l = [(), "moo", 123, []]
> >>> l.sort()
> >>> l
> [123, [], 'moo', ()]
Py 3.0 will raise an exception here as these will all be incomparable.
> If it is not a problem for lists it is not a problem for ordered
> dictionaries.
But it *is* currently a problem for lists that will become much more
extensive in the future, so it *is* currently a problem for sorted dicts
that will be much more of a problem in the future. Hence, sorted dicts
will have to be restricted to one type or one group of truly comparable
types.
Terry Jan Reedy
More information about the Python-ideas
mailing list