天真的解决方案
您可以用纯python编写:>>> names = {'name1': 34, 'name2':45, 'name3': 98, 'name4':34, 'name5': 66}
>>> sorted_names = sorted(names.iteritems(), key=lambda (k, v): (-v, k))[:10]
>>> sorted_names
[('name3', 98), ('name5', 66), ('name2', 45), ('name1', 34), ('name4', 34)]
^{}以排序键作为比较
然后按你的意愿打印出来:>>> for name, score in sorted_names:
... print name, score
...
name3 98
name5 66
name2 45
name1 34
name4 34
或者一次就做完:>>> for name, score in sorted(names.iteritems(), key=lambda (k, v): (-v, k))[:10]:
... print name, score
...
name3 98
name5 66
name2 45
name1 34
name4 34
使用^{},特别是^{},您可以得到一个更优雅的解决方案