具体内容如下:
1
2
3
|
>>> 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
1
2
3
|
>>> 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排序的相关知识,希望对大家有所帮助!