[Python-Dev] The current dict is not an "OrderedDict"

Nick Coghlan ncoghlan at gmail.com
Tue Nov 7 09:01:04 EST 2017


On 7 November 2017 at 23:48, Stefan Krah <stefan at bytereef.org> wrote:
>
>
> This is just a reminder that the current dict is not an "OrderedDict":
>
>>>> from collections import OrderedDict
>>>> OrderedDict(a=0, b=1) == OrderedDict(b=1, a=0)
> False
>>>> dict(a=0, b=1) == dict(b=1, a=0)
> True
>
> The recent proposal was primarily about guaranteeing the insertion order of
> dict literals.
>
> If further guarantees are proposed, perhaps it would be a good idea to
> open a new thread and state what exactly is being proposed.

"Insertion ordered until the first key removal" is the only guarantee
that's being proposed.

OrderedDict just comes into the discussion because reaching for its
stronger guarantees is currently the only way to obtain that guarantee
in a formally implementation-independent and future-proof way.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list