Найти - Пользователи
Полная версия: Сортировка dictionary
Начало » Python для новичков » Сортировка dictionary
1
wonderfulll
Есть словарь, где ключ - какое-то число, а значение - массив.
Сортирую данынй словарь по ключу и записываю в другой словарь, но сортировка не сохраняется. Что делаю неправильно?

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]}
ZAN
Словарь - это структура неупорядоченная.
wonderfulll
Тоесть вставляя элементы по возростанию они будут добавлятся не в конец, а куда угодно?
ZAN
Да
wonderfulll
Я так и думал :)

Спасибо! Вопрос закрыт.
pyuser
Если нужен упорядоченный словарь, можно воспользоваться готовым решением: http://code.activestate.com/recipes/576693/
Dimka665
или так)))
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]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB