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排序的相关知识,希望对大家有所帮助!
相关推荐
zhangpan 2019-10-31
LazyCat 2012-04-22
zhaojikun 2019-05-09
小炮集揣 2019-05-03
阿喵阿汪 2018-08-10
meylovezn 2018-05-19
pythonxuexi 2017-12-23
hiusmile 2017-12-23
listep 2017-05-26
明天你好 2019-04-25
allentony 2015-05-20
Triagen 2019-04-16
pythontty 2018-12-21
lispython 2018-12-18
cassiePython 2019-04-05
lwtop 2014-03-28
编程爱好者联盟 2016-11-08
zhglinux 2020-01-03