It does make your argument invalid though, since it's based on this assumption 
that I was asking for a requirement on iteration order (e.g. like dict's 
iteration order = insertion order guarantee), which is not the case.

Again, determinism means that given all input data and commands fed to a data 
structure is the same, it will arrive at the same observable state, any time 
you start from scratch and replay this workload. In the context of sets, "all 
input data" includes the hashing function itself, and "observable state" also 
includes the order in which items will be returned if iterated. Note that there 
is NO requirement here on what that order might be.

Under this definition, sets in Python are deterministic, and _always_ have 
been. And even outside of Python, there are aren't many cases where people 
willingly want to use data structures with non deterministic behavior. It 
usually involves concurrency (in the form of multithreading) and extreme 
performance requirements. And it's never the "standard" choice even in 
languages that do offer this. Determinism is generally considered as a valuable 
property in computation, at least when it is feasible to maintain it.
_______________________________________________
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/5Z3SOH4JDHRGYF4NTLND4E2UFM7QIXTL/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to