python中,集合在使用迭代输出内容的时候,是怎样执行的,为什么可以按照大小顺序输出,end有什么作用

问题遇到的现象和发生背景

请教程序的执行过程解释,程序的执行结果不理解,怎么不是从9开始

问题相关代码,请勿粘贴截图

>>> set1 = {9,6,3,4,0,5,9,8,2,1,4}
>>> for each in set1:
    print(each, end='')

    
012345689

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

因为集合本身就会进行排序操作

img


end=''的作用是每次输出紧跟上一次的结果,end的作用是使输出数据在同一行

你使用的是set类型,set类型本身是一种无序,不重复的类型。但是实际上,在数字小于32的情况下,set给出的默认排序是一个有序的情况,在数字32几以后这种无序就显示出来了。
可以理解为set类型的默认的顺序排列的,只不过这个顺序并不是我们理解的从大到小。

下面的end=‘’是指定print结尾的字符。因为直接print会输出一个'\n',即每一次print都会换行一次。加上end=''就相当于结尾不是‘\n’而是'',这样就可以输出在同一行,而不是一行一个。
测试代码如下,可以多带几个不同的数字试一试,以32为一个分界线。

set1 = {1,2,4,33,32,6,8,9,0,5,2,4,5,111.35,24,75,45,7,25}
print(set1)
print(type(set1))

img