【发布时间】:2015-09-19 12:04:22
【问题描述】:
按分数对字典进行排序。如果分数相同,则按名称对其进行排序
import operator
dt={
'sudha' : {'score' : 75} ,
'Amruta' : {'score' : 95} ,
'Ramesh' : {'score' : 56} ,
'Shashi' : {'score' : 78} ,
'Manoj' : {'score' : 69} ,
'Resham' : {'score' : 95}
}
sorted_x1 = sorted(dt.items(), key=operator.itemgetter(1))
print sorted_x1
输出是:
[('Ramesh', {'score': 56}), ('Manoj', {'score': 69}),
('sudha', {'score': 75}),
('Shashi', {'score': 78}), ('Resham', {'score': 95}), ('Amruta',{'score': 95})]
现在我想按名称对最后两个元素进行排序,因为它的分数相同。
【问题讨论】:
-
key=operator.itemgetter(1, 0) -
@AshwiniChaudhary,再看一遍。
itemgetter(1)是一个糟糕的起点
标签: python python-2.7 sorting dictionary