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

[复制链接]
查看11 | 回复2 | 2011-10-23 15:35:00 | 显示全部楼层 |阅读模式
暂时只能想到这样的,结果是排序后的键列表。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...
回复

使用道具 举报

千问 | 2011-10-23 15:35:00 | 显示全部楼层
d = {'a': 3, 'c': 4, 'b': 3, 'd': 2, 'f': 4, 'e': 2}result = {}keys = sorted(d, key=lambda k: d[k])print dprint keysfor k in keys:
result[k]=d[k]print result...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行