On Wed, Nov 8, 2017 at 5:35 AM, Paul G <p...@ganssle.io> wrote: > If dictionary order is *not* guaranteed in the spec and the dictionary order > isn't randomized (which I think everyone agrees is a bit messed up), it would > probably be useful if you could enable "random order mode" in CPython, so you > can stress-test that your code isn't making any assumptions about dictionary > ordering without having to use an implementation where order isn't > deterministic. > > I could either be something like an environment variable SCRAMBLE_DICT_ORDER > or a flag like --scramble-dict-order. That would probably help somewhat with > the very real problem of "everyone's going to start counting on this ordered > property".
Namespace is ordered by language spec. What does SCRAMBLE_DICT_ORDER in this code? class A: def __init__(self): self.a, self.b, self.c = 1, 2, 3 a = A() print(a.__dict__) a.__dict__.pop('a') print(a.__dict__) Anyway, I'm -1 on adding such option to dict. dict in CPython is complicated already for performance and compatibility reason. I don't want to add more complexity to dict for such reason. Regards, INADA Naoki <songofaca...@gmail.com> _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com