@Йоан, реда на елементите в множествата не е гарантиран по спецификация. Това не го прави непредсказуем. Обазалагам се, че ако направиш set от 50 елемента с различен тип винаги ще получаваш един и същи резултат. Просто защото в самото итериране няма заложено "разбъркване" на елементите.
Но вече конкретния ред е някакъв имплементационен детайл. Това ще рече, че колкото и пъти да се опиташ да обходиш елементите на set
, ползвайки 3.4.3 винаги ще получиш един и същи резултат. Но нямаш никаква гаранция, че няма да сменят тази имплементация в 3.4.4, 3.4.5 или нататък. Дори няма да се учудя, ако тази промяна не бъде посочена в "Release notes".
Тъй като това по никакъв начин не внася промени в спецификацията на езика и ако някой е разчитал на този ред, проблемът си е негов.
Никога, по никакъв повод, при никакви обстоятелства, недей да разчиташ на подредбата, в която получаваш елементите от множества или ключовете от речници.