Python实现字典依据value排序
具体内容如下:
使用sorted将字典按照其value大小排序
>>>record={'a':89,'b':86,'c':99,'d':100} >>>sorted(record.items(),key=lambdax: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=lambdax:(x[0],x[1].lower()))
[(0,'a'),(0,'B'),(1,'A'),(1,'B'),(2,'A')]
以上内容是关于Python实现字典依据value排序的相关知识,希望对大家有所帮助!