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}

如果要对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)]
我们在idle中输入help(sorted),如下:
Helponbuilt-infunctionsortedinmodulebuiltins:
sorted(iterable,/,*,key=None,reverse=False)
#返回一个新列表,其中包含迭代中所有项目的升序排列。可以提供自定义键功能以自定义排序顺序,并且可以设置反向标志以按降序请求结果。
sorted()?函数对所有可迭代的对象进行排序操作。
sort与sorted区别:
sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。
list的sort方法返回的是对已经存在的列表进行操作,无返回值,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。
dict.items()以列表返回可遍历的(键,值)元组数组。比如:
uid={"a":10003,"b":10004,"c":10001,"d":10002}
dict_items([('a',10003),('b',10004),('c',10001),('d',10002)])
本文来源:vps主机--Python根据字典中的值进行排序的3种方法(python字典根据value排序)
本文地址:https://www.idcbaba.com/vps/2574.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。