zero_mod
Сен. 9, 2007 15:36:23
Вот код:
dict = {"one": "1", "two": "2", "three": "3"}
for k in dict.keys():
print k
выводит:
three
two
one
Почему с конца? Объясните плиз.
astoon
Сен. 9, 2007 16:06:34
Потому что сортирует ключи хэша в алфавитном порядке ;)
j2a
Сен. 9, 2007 16:35:34
astoon
Потому что сортирует ключи хэша в алфавитном порядке ;)
Неверно. Он их вообще не сортирует.
P.S. for k in d.keys() – устаревшее, лучше for k in d
Александр Кошелев
Сен. 9, 2007 17:09:33
Это просто детали реализации дерева, корое внутри dict
Андрей Светлов
Сен. 10, 2007 03:08:34
Все правильно. Позволю себе немного более развернутый комментарий.
dict - это такая структура, которая сортирует контейнер по хеш-значениям ключей. Т.е. в общем случае - непредсказуемо. md5 или sha1 - частные случаи для вычисления хешей. В dict куда более простой (4 байта).
Позволяет быстро искать по ключу. Для чего и делался.
Для сортировки по ключу в алфафитном или каком другом порядке не подходит. Для этой цели разработано множество других контейнеров, и не сложно добавить сюда еще один ваш, уникальный