Задать вопрос

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

Приветствую

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


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

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

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

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽