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

Antoine Pitrou solipsis at pitrou.net
Tue Nov 7 09:32:29 EST 2017


On Wed, 8 Nov 2017 00:01:04 +1000
Nick Coghlan <ncoghlan at gmail.com> wrote:

> 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.

Is it?  It seems to me that many arguments being made are only relevant
under the hypothesis that insertion is ordered even after the first key
removal.  For example the user-friendliness argument, for I don't
think it's very user-friendly to have a guarantee that disappears
forever on the first __del__.

Regards

Antoine.




More information about the Python-Dev mailing list