Форум сайта python.su
Подскажите есть ли возможность, если да то какая, сортировки словаря словарей. К примеру,
{
'as1': {
'title': "tit1",
'position': 1
},
'as2': {
'title': "tit2",
'position': 3
},
'as3': {
'title': "tit3",
'position': 2
},
}
Отредактировано (Июнь 3, 2010 18:12:53)
Офлайн
dict не сортируется, где-то тут на форуме были ссылки на сортируемые словари.
Офлайн
Сортировать не можете, но можете обходить в отсортированном порядке, примерно так:
for key in sorted(dt):
print key, dt[key]
for key, value in sorted(dt.items()):
print key, value
Отредактировано (Июнь 4, 2010 05:38:08)
Офлайн
вывод с сортировкой по position:
for i,j in sorted(a.items(),key = lambda x: x[1]['position']):
print i,j
Офлайн
haloЛучше не валить все в кучу а сделать отдельно чтение, отдельно сортировку, отдельно выовд.
подскажите пожалуйста, как лучше сделать?
haloА почему вы решили что у вас неправильный путь?
Никак не могу отсортировать по баллам, а затем по алфавиту.
>>> li=[("Битюг",5.5),("Абрахам",5.5),("Яша",1000)] >>> sorted(li,key=lambda x:(-x[1],x[0])) [('Яша', 1000), ('Абрахам', 5.5), ('Битюг', 5.5)]
Отредактировано doza_and (Июль 28, 2021 10:01:55)
Офлайн
doza_andвы как а.дюма “20 лет спустя” ) и все такое
Офлайн
Вы правы :)
Офлайн