exampleDict = {'a':1, 'b':2, 'c':3, 'd':4}
выше словаря изначально итерация в таком порядке:Можно изменить внутренний словарь?
b=2
d=4
a=1
c=3
Затем я переехал около тонны файлов в моем коде, и теперь он перебирает в таком порядке:
d=4
a=1
c=3
b=2
Я знаю, что заказ внутренне хранится как hashmap, но что может вызвать изменение внутреннего заказа?
Редактировать: Мне не нужно сохранять порядок, поэтому я буду придерживаться использования dict. Мне просто интересно, почему это произошло. Я думал, что порядок не гарантирован, но как только он имеет свой произвольный внутренний порядок, он придерживается его для будущих итераций.
это не ответ на ваш вопрос, но если вы заботитесь о заказе, вы не должны использовать 'dict'. –
Порядок вставки может привести к изменению порядка, наблюдаемого во время итерации. Кроме того, направление ветра. Ваш результат находится в том же порядке, что и раньше, при этом только 'b = 2' переместился в конец. –
В зависимости от порядка вставки записи могут меняться (из-за хеш-коллизий). Мне интересно, почему это имеет значение? – AndyG