Pythonのset(集合)の表示順序について
最近Pythonを学び始めた者です。初歩的なことかも知れませんが、調べても望むような答えが見つかりませんでしたので質問させていただければと思います。
set(集合)について、公式ドキュメントにもあるように「重複する要素をもたない、順序づけられていない要素の集まり」と認識していました。
s = set()
s.add("a")
s.add("b")
s.add("c")
print(s) # {'c', 'a', 'b'}や{'a', 'c', 'b'}など
実際、上記のようにprintした際の要素の表示順はランダムになるものだと思っていたのですが、
s = set()
s.add(1)
s.add(2)
s.add(3)
print(s) # {1, 2, 3}
このコードでは常に昇順で表示されます。
この理由はなんでしょうか。