您好,欢迎访问一九零五行业门户网

Python实现字典依据value排序

具体内容如下:
使用sorted将字典按照其value大小排序
>>> record = {'a':89, 'b':86, 'c':99, 'd':100}>>> sorted(record.items(), key=lambda x:x[1])[('b', 86), ('a', 89), ('c', 99), ('d', 100)]
sorted第一个参数要可迭代,可以为tuple, list
>>> items = [(1, 'b'), (1, 'a'), (2, 'a'), (0, 'b'), (0, 'a')]>>> sorted(items)[(0, 'b'), (0, 'a'), (1, 'a'), (1, 'b'), (2, 'a')]
为什么(0, 'b')在(0, 'a')前面?
因为ascii码中大写字母排在在小写字母前面,使用str.lower()方法改变其顺序
>>> sorted(items, key=lambda x:(x[0], x[1].lower()))
[(0, 'a'), (0, 'b'), (1, 'a'), (1, 'b'), (2, 'a')]
以上内容是关于python实现字典依据value排序的相关知识,希望对大家有所帮助!
其它类似信息

推荐信息