早教吧 育儿知识 作业答案 考试题库 百科 知识分享

想问下python字典排序怎么才能先按照值大小降序排列若值相同再按照键的字母顺序排呢?

题目详情
想问下python字典排序 怎么才能先按照值大小降序排列 若值相同 再按照键的字母顺序排呢?
▼优质解答
答案和解析
暂时只能想到这样的,结果是排序后的键列表.
d = {'a':3,'c':4,'b':3,'d':2,'f':4,'e':2}
result = []
keys = sorted(d,key=lambda k:d[k])
for k in keys:
if not result:
result.append(k)
elif d[k] == d[result[-1]] and k < result[-1]:
result.insert(len(result) - 1,k)
else:
result.append(k)
print result