经常使用到的一个方法是对字典类型的数据结构根据value来进行排名,注意是排名不是排序。所以记录一下,可以供后来者使用。
x = {'a':2.1, 'b':2.1, 'c':5.2, 'd':6}
r = {key: rank for rank, key in enumerate(sorted(x.values(),reverse=True), 1)}
print(r)
# {2.1: 4, 5.2: 2, 6: 1}
rr = {k: r[v] for k,v in x.items()}
print(rr)
# {'b': 4, 'a': 4, 'd': 1, 'c': 2}
所以可以看出d排第一,c排第二,a和b并列排第四。
————————————EOF——————————–
本文介绍了一种针对Python字典按值进行排名的方法,并通过示例展示了如何实现并列排名,适用于需要对数据结构按其值进行快速排名的场景。
899

被折叠的 条评论
为什么被折叠?



