Почему ключи словаря меняют свой порядок, каков алгоритм?

Приветствую

Словарь и вывод ключей:
b = {
	'one': 'one',
	'two': 'two'
}
print(b.keys())


В результате можно получить one, two или two, one. Понятно, что словарь – неупорядоченное множество и можно на этом остановиться и не думать об этом, но хочется все же понять. Мне не понятен сам алгоритм этого упорядочивания или не упорядочивания элементов словаря. Какой-то же алгоритм должен обрабатывать порядок записи и вывода элементов словаря и как это все происходит на глубинном уровне, какие там шестеренки крутятся и почему именно так, а не иначе!?
  • Вопрос задан
  • 441 просмотр
Решения вопроса 2
AnnTHony
@AnnTHony
Интроверт
Глубины поисковых систем сначала освойте.
Реализация словаря в Python 2.7
Ответ написан
Комментировать
aRegius
@aRegius
Python Enthusiast
Привет.

Если с английским на уровне чтения литературы - обратите внимание на эту книгу. В контексте вашего вопроса - страница 85, подраздел dict and set Under the Hood. Да и просто отличная книга (издание на русском не рекомендую по причине плохого перевода).

На русском языке по данной тематике можно посмотреть этот топик.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
rasswet
@rasswet
"словарь – неупорядоченное множество и можно на этом остановиться и не думать об этом" - да, тем более даже если вы постигнете то, как это сейчас устроено, не факт что в след версии это не поменяется. имхо, эти знание никак не применить на практике.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы