The Set in Python are Unordered
That is why the same code may behave differently. Don't assume the sets are ordered in Python (unlike C++ in which the sets are ordered and unordered_sets are unordered).
Ordered sets are implemented using Trees while unordered sets are using Hash Table.
Use OrderedSets instead in Python for ordered sets.
For programming tutorials, see HelloACM