Python实现字典依据value排序

(编辑:jimmy 日期: 2025/9/21 浏览:2)

具体内容如下:

使用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排序的相关知识,希望对大家有所帮助!

一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。