各位用户为了找寻关于Python实现字典依据value排序的资料费劲了很多周折。这里教程网为您整理了关于Python实现字典依据value排序的相关资料,仅供查阅,以下为您介绍关于Python实现字典依据value排序的详细内容
具体内容如下:
使用sorted将字典按照其value大小排序
? 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排序的相关知识,希望对大家有所帮助!