Actually, for dicts the implementation came first. On Sun, Dec 15, 2019 at 19:50 Larry Hastings <la...@hastings.org> wrote:
> > That's not a reason why we shouldn't do it. Python is the language where > speed, correctness, and readability trump performance every time. We > should decide what semantics we want, then do that, period. And anyway, it > seems like some genius always figures out how to make it fast sooner or > later ;-) > > I can believe that, given the current implementation, sets might give up > some of their optimizations if they maintained insertion order. But I > don't understand what "flexibility" they would lose. Apart from being > slower, what would set objects give up if they maintained insertion order? > Are there operations on set objects that would no longer be possible? > > > */arry* > > > On 12/15/19 6:58 PM, Tim Peters wrote: > > [Larry Hastings <la...@hastings.org> <la...@hastings.org>] > > As of 3.7, dict objects are guaranteed to maintain insertion order. But set > objects make no such guarantee, and AFAIK in practice they don't maintain > insertion order either. > > If they ever appear to, it's an accident you shouldn't rely on. > > > Should they? > > From Raymond, 22 Dec 2017: > https://twitter.com/raymondh/status/944454031870607360 > """ > Sets use a different algorithm that isn't as amendable to retaining > insertion order. Set-to-set operations lose their flexibility and > optimizations if order is required. Set mathematics are defined in > terms of unordered sets. In short, set ordering isn't in the immediate > future. > """ > > Which is more an answer to "will they?" than "should they?" ;-) > > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/U72GJCRHC7QBLNM7XCEKHEWUDGKUJVEZ/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido (mobile)
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/E6RYOYTRZAWD4W46RCYWCYOOK4CQ6GD4/ Code of Conduct: http://python.org/psf/codeofconduct/