Python根据字典中的值进行排序的3种方法(python字典根据value排序)

Python根据字典中的值进行排序的3种方法(python字典根据value排序)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-08-22 15:32:46
文章简介

Python中如果要对字典的values值进行排序的话,还是简单的,有好几种方法可以实现,大鸟这里把自己平时用的3种方法记录下来。 请根据字典中的值进行从小到大的

2025阿里云双十一服务器活动

Python中如果要对字典的values值进行排序的话,还是简单的,有好几种方法可以实现,大鸟这里把自己平时用的3种方法记录下来。

请根据字典中的值进行从小到大的排序,获得排序后的新字典sorted_uid,排序后的结果如下:

{'c':10001,'d':10002,'a':10003,'b':10004}

第一种方法:

使用key使用lambda匿名函数取value进行排序

a=dict(sorted(uid.items(),key=lambdax:x[1]))

这里延伸一下,如果要是从大到小排列,可以这样。

a1=dict(sorted(uid.items(),key=lambdax:x[1],reverse=True))

{'b':10004,'a':10003,'d':10002,'c':10001}

第二种方法

使用operator的itemgetter进行排序

b=dict(sorted(uid.items(),key=operator.itemgetter(1)))

{'c':10001,'d':10002,'a':10003,'b':10004}

第三种方法:

c={key:valuefor(value,key)insorted(zip(uid.values(),uid.keys()))}

{'c':10001,'d':10002,'a':10003,'b':10004}

Python根据字典中的值进行排序的3种方法,python字典根据value排序

如果要对key进行排序,可以这样。

key使用lambda匿名函数按键进行排序

a2=sorted(uid.items(),key=lambdax:x[0])

#第三种方法讲key和value分装成元祖,在进行排序

f=zip(uid.keys(),uid.values())

[('a',10003),('b',10004),('c',10001),('d',10002)]

sorted方法原理

我们在idle中输入help(sorted),如下:

Helponbuilt-infunctionsortedinmodulebuiltins:

sorted(iterable,/,*,key=None,reverse=False)

#返回一个新列表,其中包含迭代中所有项目的升序排列。可以提供自定义键功能以自定义排序顺序,并且可以设置反向标志以按降序请求结果。

sorted()?函数对所有可迭代的对象进行排序操作。

sort与sorted区别:

sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。

list的sort方法返回的是对已经存在的列表进行操作,无返回值,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。

dict.items()

dict.items()以列表返回可遍历的(键,值)元组数组。比如:

uid={"a":10003,"b":10004,"c":10001,"d":10002}

dict_items([('a',10003),('b',10004),('c',10001),('d',10002)])

标签:
宝塔邮局管理器改465
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!