如何设置Python字典以值进行排序?
对于学习语言的小伙伴,每年都会碰到几次考试或者上机试题,每一次,老师为了我们考试都煞费苦心,之前跟大家讲过关于字典里的sorted函数对于排序上的使用,并且告知大家,这个是经常会碰到的问题,小伙伴们果然真的遇到了这个问题,但是换了一种方法,要求使用值排序,这又是什么呢?存在疑惑的,可以继续阅读下文。
要怎么根据字典值来排序呢?
即有列表为
b = [ {'test': 'a0', 'value': 0}, {'test': 'a1', 'value': 1}, {'test': 'a2', 'value': 2}, {'test': 'a3', 'value': 3}, {'test': 'a4', 'value': 4} ]
解决方案
用lambda
sort_l = sorted(b, key=lambda x : x['value'], reverse=True)
用operator
import operator sort_o = sorted(b, key=operator.itemgetter('value'), reverse=True)
用上面的两种方法,我们可以得到如下结果
[ {'test': 'a4', 'value': 4}, {'test': 'a3', 'value': 3}, {'test': 'a2', 'value': 2}, {'test': 'a1', 'value': 1}, {'test': 'a0', 'value': 0} ]
好啦,小伙伴们如果在碰到需要用到值排序的,可以跟着小编的这个操作,进行应用学习哦~
来源:PY学习网:原文地址:https://www.py.cn/article.html