为什么Python集的迭代顺序(具有相同的内容)因运行而异,以及从运行到运行使其一致的选项是什么?
我知道Python集的迭代顺序是任意的.如果我将'a','b'和'c'放入一个集合然后迭代它们,它们可能会以任何顺序返回.
我观察到的是,在一个程序的运行中,顺序保持不变.也就是说,如果我的程序连续两次迭代同一个集合,那么我两次都得到相同的顺序.但是,如果我连续两次运行程序,则顺序会从运行更改为运行.
不幸的是,这打破了我的一个自动化测试,它简单地比较了我的程序的两次运行的输出.我不关心实际的顺序,但我希望它在运行之间保持一致.
我提出的最佳解决方案是:
有更简单的解决方案吗?
注意:我在StackOverlow上发现了类似的问题,但是没有一个能解决从运行到运行获得相同结果的特定问题.