python字典排序取最值总结
dic = {"abc":18,"adc":19,"abe":20} # 默认对键排序,从小到大,返回排序后键组成的列表 zidian = sorted(dic)#['abc', 'abe', 'adc'] print(zidian) # 对键进行反向(从大到小)排序 zidian = sorted(dic,reverse=True)#['adc', 'abe', 'abc'] print(zidian) # 拿到所有的key,然后再对key排序 zidian = sorted(dic.keys(),reverse=True)#['adc', 'abe', 'abc'] print(zidian) # 对值排序,从小到大 print(dic) zidian = sorted(dic.values())#[18, 19, 20] print(zidian) # 对值排序,从大到小 zidian = sorted(dic.values(),reverse=True)#[20, 19, 18] print(zidian) #可以用dict1.items(),得到包含键,值的元组, # 由于迭代对象是元组,返回值自然是元组组成的列表,x指元组,x[1]是值,x[0]是键# 键由小到大排序 zidian = sorted(dic.items(),key=lambda x:x[0]) print(zidian)# 键由大到小排序 zidian = sorted(dic.items(),key=lambda x:x[0],reverse=True) print(zidian)# 值由小到大排序 zidian = sorted(dic.items(),key=lambda x:x[1]) print(zidian) # 值由大到小排序 zidian = sorted(dic.items(),key=lambda x:x[1],reverse=True) print(zidian)#itemgetter(0),获取key # itemgetter(1),获取value from operator import itemgetter d = {"a":8,"b":4,"c":12,"a":10,"b":1,"e":10} # 键由大到小 print(sorted(d.items(),key=itemgetter(0),reverse=True))#[('e', 10), ('c', 12), ('b', 1), ('a', 10)] # 值由大到小 print(sorted(d.items(),key=itemgetter(1),reverse=True))#[('c', 12), ('a', 10), ('e', 10), ('b', 1)]
prices = {'ACME': 45.23,'AAPL': 612.78,'IBM': 205.55,'HPQ': 37.20,'FB': 10.75 } # 在一个字典上执行普通的数学运算,你会发现它们仅仅作用于键,而不是值 min(prices) # Returns 'AAPL' max(prices) # Returns 'IBM' min(prices.values()) # Returns 10.75 max(prices.values()) # Returns 612.78 min(prices, key=lambda k: prices[k]) # Returns 'FB' max(prices, key=lambda k: prices[k]) # Returns 'AAPL' min_price = min(zip(prices.values(), prices.keys())) # min_price is (10.75, 'FB') print("min_price",min_price) max_price = max(zip(prices.values(), prices.keys())) # max_price is (612.78, 'AAPL') print("max_price",max_price)#值由大到小排序 prices_sorted = sorted(zip(prices.values(), prices.keys()),reverse=True) # prices_sorted is [(10.75, 'FB'), (37.2, 'HPQ'), # (45.23, 'ACME'), (205.55, 'IBM'), # (612.78, 'AAPL')] print(prices_sorted)
转载于:https://www.cnblogs.com/songdanlee/p/11135282.html
python字典排序取最值总结相关推荐
- python字典排序|按值排序|按键排序
python字典排序 用sorted函数 字典按值排序 sorted(dic.items(), key=lambda x:x[1], reverse=True) dic为字典名 reverse为Tru ...
- python字典排序sort_Python字典排序
利用引出一个例子来理解 例如:比如使用Python字典排序,d={'a':1,'c':3,'b':2}按值升序排列,我们可以用sorted高阶函数或者用列表的.sort()方法.下面具体阐述两种排序方 ...
- python字典相同key的值怎么分别取出_python字典值排序并取出前n个key值的方法
python字典值排序并取出前n个key值的方法 今天在写一个算法的过程中,得到了一个类似下面的字典: {'user1':0.456,'user2':0.999,'user3':0.789,user: ...
- python字典按照键和值进行排序
排序首先想到python的sorted()和sort() sort 与 sorted 区别: 1.sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. 2. li ...
- 【工程实践】python 字典排序
前言 在数据处理时,为了方便统计经常使用字典存储数据.python中的字典是'键:值'对的可变序列.排序时可以指定根据键或者是值为对象进行排序.用到的函数是sorted(). 1.语法规则 1-1 代 ...
- python 字典排序 最大键_Python中的列表、元祖、字典、集合操作大全
来源:http://suo.im/5HPGNT 在Python中有4种内建的数据结构:列表.元组.字典.集合.今天我们将会学习如何使用它们,以及它们如何使编程变得简单. 一.列表list 是处理一组有 ...
- Python字典排序sorted无效,用匿名函数lambda解决
如题,今天看百度上解释python对字典按值排序,看了代码及运行结果发现按值排序无效 如下所示 sorted(iterable, key=None, reverse=False) 默认是从小到大 di ...
- python 字典排序 lambda_Python使用lambda表达式对字典排序操作示例
本文实例讲述了Python使用lambda表达式对字典排序操作.分享给大家供大家参考,具体如下: lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了. 字典按键排 ...
- Python字典排序、字典列表排序、嵌套字典排序
python字典是常用的数据结构,经常用到各种python字典的排序,记录一下不同字典排序的方法. 正常字典排序 正常的字典我们都知道,其排序如下: a={100:1,101:0,102:2}b=so ...
最新文章
- 【青少年编程】【三级】病毒传染模拟程序
- VLC 关键模块结构分析
- Essential Studio for mobile MVC中2种添加移动图表到MVC3 ASPX应用程序中的方法
- (转)git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
- AC自动机:例题与机制详解
- 使用活动记录执行CRUD
- TensorFlow入门--队列与TensorBoard操作
- 锂电池接线方法图_锂电池制浆工艺(2)——制浆设备种类及特征
- webdriver原理
- 开调查公司创业,他的公司营业额达80万
- multisim如何添加8050(例),8550,9013,9014
- 提取Linux的下制作生成grldr,如何制作自己的LINUX系统?
- 四级英语图表作文真题计算机,2016年四级作文模板之图片与图表
- 点线面的意义_【干货】设计中的点线面到底有什么用?
- 爬虫 -- 王者荣耀爬虫,爬取每个英雄的皮肤图片
- Oracle11g导入DMP文件并导出为CSV文件过程全纪录
- Docplex入门(1)——线性规划
- 【图像分割】ExG超绿特征灰度化、二值化分割(Matlab及Python代码实现)
- 自动添加Opera搜索串
- PostgreSQL 不在使用tigger或rule来模拟 SSQLSERVER timestamp 行变化版本管理
热门文章
- [转载]从12306谈起验证码的架构
- mysql存储过程写法—动态参数运用
- php将中文插入数据库出现乱码
- ASP.NET中文件上传下载方法集合
- IromPython .Net 的简介和第一个例子
- 【推荐】《精通.NET互操作:P/Invoke,C++ Interop和COM Interop》
- WinForm 程序的界面多语言切换
- Caffe2——cifar10数据集创建lmdb或leveldb类型的数据
- 解决Uncaught SyntaxError: Unexpected token var报错问题
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)