码迷,mamicode.com
首页 > 编程语言 > 详细

python中字典以key排序,以value排序。以及通过value找key的方式

时间:2019-10-05 22:01:07      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:对象   pre   rabl   参与   lam   元素   wan   需要   迭代   

1.sorted函数
首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。

2.按照key排序
要对字典按照key排序,可以直接调用sorted函数。

my_dict = {lilee:25, age:24, phone:12}
sorted(my_dict.keys())
输出结果为

[age, lilee, phone]

直接使用sorted(my_dict.keys())就能按key值对字典排序,这里是按照顺序对key值进行排序的,如果想按照倒序排序的话,只需要将reverse置为true即可。

sorted(my_dcit.keys(), reverse = true)

3.按照value值排序
共有三种方法可以实现将字典按照value值进行排序

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

d = {lilee:25, wangyan:21, liqun:32, age:19}
sorted(d.items(), key=lambda item:item[1])
输出结果为

[(age,19),(wangyan,21),(lilee,25),(liqun,32)]
如果需要倒序则

sorted(d.items(), key=lambda item:item[1], reverse=True)
得到的结果就会是

[(liqun,32),(lilee,25),(wangyan,21),(age,19)]

4.通过value找key

1)[k for k, v in dict.items() if v == value]

2)反转k,v,new_dict = {v : k for k, v in dict.items()}

python中字典以key排序,以value排序。以及通过value找key的方式

标签:对象   pre   rabl   参与   lam   元素   wan   需要   迭代   

原文地址:https://www.cnblogs.com/shengguorui/p/11625776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!