Почему порядок итерации набора Python (с тем же содержимым) варьируется от run to run и каковы мои возможности для его согласования с запуском для запуска?
Я понимаю, что порядок итерации для набора Python произволен. Если я поставлю "a", "b" и "c" в набор, а затем повторю их, они могут вернуться в любом порядке.
То, что я наблюдал, заключается в том, что порядок остается неизменным во время запуска программы. То есть, если моя программа повторяет один и тот же набор дважды подряд, я получаю один и тот же порядок одновременно. Однако, если я запускаю программу дважды подряд, порядок изменяется от прогона до запуска.
К сожалению, это прерывает один из моих автоматических тестов, который просто сравнивает результаты двух запусков моей программы. Меня не волнует фактический порядок, но я бы хотел, чтобы он был последовательным от запуска до запуска.
Лучшее решение, которое я придумал, это:
- Скопировать список в список.
- Применить произвольный вид в список.
- Итерировать список вместо установленного.
Есть ли более простое решение?
Примечание. Я нашел похожие вопросы в StackOverlow, но ни один из них не адресует эту конкретную проблему получения результатов от запуска для запуска.