set集合本身是无序的,但是无意间发现set集合中都是数字时set貌似有序了。
无论声明这个set时数字如何摆放,输出结果总是以一种固定的顺序!同样我将dict字典的key值设为int类型,这时候字典也变成了固定的排序方式。
字典和集合无序的实现方式是hash表,他们是通过hash值来将对象放入hash表中,从而达到无序的操作(众所周知对象的hash值是不断变化的)。
python中int型的hash值就是它本身,那么set或dict中的排序方式又是通过hash表实现的,所以自然顺序就不会变。
所以由于hash的原因,导致了这一怪异现象。