Форум сайта python.su
Есть словарь, где ключ - какое-то число, а значение - массив.
Сортирую данынй словарь по ключу и записываю в другой словарь, но сортировка не сохраняется. Что делаю неправильно?
dic = {
'103' : [1,2,3],
'101' : [1,2,3],
'102' : [1,2,3],
'100' : [1,2,3],
'104' : [1,2,3],
}
a = dic.keys()
a.sort()
b = {}
for i in a:
print i, dic[i]
b[i] = dic[i]
print b
>>>
100 [1, 2, 3]
101 [1, 2, 3]
102 [1, 2, 3]
103 [1, 2, 3]
104 [1, 2, 3]
{'102': [1, 2, 3], '103': [1, 2, 3], '100': [1, 2, 3], '101': [1, 2, 3], '104': [1, 2, 3]}
Офлайн
Словарь - это структура неупорядоченная.
Офлайн
Тоесть вставляя элементы по возростанию они будут добавлятся не в конец, а куда угодно?
Офлайн
Да
Офлайн
Я так и думал :)
Спасибо! Вопрос закрыт.
Офлайн
Если нужен упорядоченный словарь, можно воспользоваться готовым решением: http://code.activestate.com/recipes/576693/
Офлайн
или так)))
dic = {
'103' : [1,2,3],
'101' : [1,2,3],
'102' : [1,2,3],
'100' : [1,2,3],
'104' : [1,2,3],
}
for i in sorted(dic):
print i, dic[i]
Офлайн