python字典值排序并取出前n个key值的方法
今天在写一个算法的过程中,得到了一个类似下面的字典:
{'user1':0.456,'user2':0.999,'user3':0.789,user:'0.234'}
想要获取字典里value值前3的key,就产生了如下代码
直接贴代码:
def order_dict(dicts, n): result = [] result1 = [] p = sorted([(k, v) for k, v in dicts.items()], reverse=True) s = set() for i in p: s.add(i[1]) for i in sorted(s, reverse=True)[:n]: for j in p: if j[1] == i: result.append(j) for r in result: result1.append(r[0]) return result1
类似问题
python,字典中如何根据value值取对应的key值,
比如:
dic = {‘user1':'01', ‘user2':'02'}
需要根据输入01,得到a
list(dic.keys())[list(dic.values()).index('01')]
Python中获取字典中最大/最小值对应的键:
1.利用min(dict, key=dict.get)或者max(dict, key=dict.get)
d = {1:1, 2:0, 3:2} min(d, key=d.get) //最小 max(d, key=d.get) //最大
2.利用lambda函数
min(d.items(), key=lambda x: x[1]) min(d, key=lambda x: d[x])
以上这篇python字典值排序并取出前n个key值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python字典多条件排序方法实例
项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现.充分体现了python的好处了. 复制代码 代码如下: teamitems = [{'team':'France' , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4}, {'team':'Uruguay' , 'P':7 , 'GD':4 , 'GS':4 , 'GA':0}, {'team':'SouthAfrica'
-
Python实现字典的遍历与排序功能示例
本文实例讲述了Python实现字典的遍历与排序功能.分享给大家供大家参考,具体如下: 字典的遍历: 首先: items(): 功能:以列表的形式返回字典键值对 eg: dict_={"a":2,"b":3,"c":6} dict_.items() >>>[('a',2),('b',3),('c',6)] iteritems(): 功能:以迭代器对象返回字典键值对 # -*- coding: cp936 -*- dict1={'a
-
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
本文实例讲述了Python实现对字典分别按键(key)和值(value)进行排序的方法.分享给大家供大家参考,具体如下: 方法一: #使用sorted函数进行排序 ''' sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数; 其中iterable表示可以迭代的对象,例如可以是dict.items().dict.keys()等 key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reve
-
Python实现字典依据value排序
具体内容如下: 使用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,
-
Python使用lambda表达式对字典排序操作示例
本文实例讲述了Python使用lambda表达式对字典排序操作.分享给大家供大家参考,具体如下: lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了. 字典按键排序 显然按键排序,需要用字典中每个元素的第一项排序 dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7} sorted_dict_asc = sorted(dict.items(),key=lambda item:item[0]) sorted_dic
-
python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序. dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0} dict= sorted(dic.items(), key=lambda d:d[1], reverse = True) print(dict) 输出的结果: [('aa', 74),
-
Python中字典(dict)和列表(list)的排序方法实例
一.对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序 复制代码 代码如下: >>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>> print a[9, 7, 5, 3, 2, 1, 0]>>> b = ['e','a'
-
Python常见排序操作示例【字典、列表、指定元素等】
本文实例讲述了Python常见排序操作.分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","bank":"icbc","country":china} # reverse是否倒序,x[1]代表value,x[0]为key d1 = sorted(d1.items(),lambda x: x[1],reverse=True) 按key排序 d1 = {&
-
详解Python的Lambda函数与排序
lambda函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方.下面的例子比较了传统的函数与lambda函数的定义方式. 前几天看到了一行求1000的阶乘的Python代码 Python代码 print reduce(lambda x,y:x*y, range(1, 1001)) 一下子被python代码的精简与紧凑所折服,故对代码进行了简单的分析. reduce与range都是Python的内置函数. range(1,1001)表示生成1到1000的连续整数
-
python3.0 字典key排序
IDLE 3.0 >>> dic = {"aa":1,"bb":2,"ab":3} >>> dic {'aa': 1, 'ab': 3, 'bb': 2} >>> for k in sorted(dic.keys()): print (k) aa ab ----------------------------------------------- 字典对象其实就是键-值对 下面是字典对象的添加
随机推荐
- thinkphp jquery实现图片上传和预览效果
- 编程语言中十六进制的正则匹配
- SQLserver 2005文件和文件组的作用说明
- 正则表达式在网页处理中的应用四则
- Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
- Java实现Html转Pdf的方法
- Ubuntu安装Jupyter Notebook教程
- 一些主流JS框架中DOMReady事件的实现小结
- php如何实现只替换一次或N次
- php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
- wampserver改变默认网站目录的办法
- 原生javascript实现无间缝滚动示例
- 零基础写python爬虫之urllib2使用指南
- 如何防范ASP木马
- Kindeditor在线文本编辑器如何过滤HTML
- PHP生成各种常见验证码和Ajax验证过程
- Java解析DICOM图之如何获得16进制数据详解
- jQuery dataTables与jQuery UI 对话框dialog的使用教程
- 基于C语言实现简单的12306火车售票系统
- Angular之toDoList的实现代码示例