python中字典以key排序,以value排序。以及通过value找key的方式
Posted shengguorui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中字典以key排序,以value排序。以及通过value找key的方式相关的知识,希望对你有一定的参考价值。
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的方式的主要内容,如果未能解决你的问题,请参考以下文章