Найти - Пользователи
Полная версия: Сортировка словаря словарей
Начало » Python для новичков » Сортировка словаря словарей
1
pyOut
Подскажите есть ли возможность, если да то какая, сортировки словаря словарей. К примеру,
{
'as1': {
'title': "tit1",
'position': 1
},
'as2': {
'title': "tit2",
'position': 3
},
'as3': {
'title': "tit3",
'position': 2
},
}
Нужно отсортировать по position.
pasaranax
dict не сортируется, где-то тут на форуме были ссылки на сортируемые словари.
PooH
Сортировать не можете, но можете обходить в отсортированном порядке, примерно так:
for key in sorted(dt): 
print key, dt[key]
или так
for key, value in sorted(dt.items()):
print key, value
polymetr
вывод с сортировкой по position:
for i,j in sorted(a.items(),key = lambda x: x[1]['position']):
print i,j
doza_and
halo
подскажите пожалуйста, как лучше сделать?
Лучше не валить все в кучу а сделать отдельно чтение, отдельно сортировку, отдельно выовд.
Например функциями.
halo
Никак не могу отсортировать по баллам, а затем по алфавиту.
А почему вы решили что у вас неправильный путь?
 >>> li=[("Битюг",5.5),("Абрахам",5.5),("Яша",1000)]
>>> sorted(li,key=lambda x:(-x[1],x[0]))
[('Яша', 1000), ('Абрахам', 5.5), ('Битюг', 5.5)]
AD0DE412
doza_and
вы как а.дюма “20 лет спустя” ) и все такое
doza_and
Вы правы :)
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