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字典排序取最值总结相关推荐

  1. python字典排序|按值排序|按键排序

    python字典排序 用sorted函数 字典按值排序 sorted(dic.items(), key=lambda x:x[1], reverse=True) dic为字典名 reverse为Tru ...

  2. python字典排序sort_Python字典排序

    利用引出一个例子来理解 例如:比如使用Python字典排序,d={'a':1,'c':3,'b':2}按值升序排列,我们可以用sorted高阶函数或者用列表的.sort()方法.下面具体阐述两种排序方 ...

  3. python字典相同key的值怎么分别取出_python字典值排序并取出前n个key值的方法

    python字典值排序并取出前n个key值的方法 今天在写一个算法的过程中,得到了一个类似下面的字典: {'user1':0.456,'user2':0.999,'user3':0.789,user: ...

  4. python字典按照键和值进行排序

    排序首先想到python的sorted()和sort() sort 与 sorted 区别: 1.sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. 2. li ...

  5. 【工程实践】python 字典排序

    前言 在数据处理时,为了方便统计经常使用字典存储数据.python中的字典是'键:值'对的可变序列.排序时可以指定根据键或者是值为对象进行排序.用到的函数是sorted(). 1.语法规则 1-1 代 ...

  6. python 字典排序 最大键_Python中的列表、元祖、字典、集合操作大全

    来源:http://suo.im/5HPGNT 在Python中有4种内建的数据结构:列表.元组.字典.集合.今天我们将会学习如何使用它们,以及它们如何使编程变得简单. 一.列表list 是处理一组有 ...

  7. Python字典排序sorted无效,用匿名函数lambda解决

    如题,今天看百度上解释python对字典按值排序,看了代码及运行结果发现按值排序无效 如下所示 sorted(iterable, key=None, reverse=False) 默认是从小到大 di ...

  8. python 字典排序 lambda_Python使用lambda表达式对字典排序操作示例

    本文实例讲述了Python使用lambda表达式对字典排序操作.分享给大家供大家参考,具体如下: lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了. 字典按键排 ...

  9. Python字典排序、字典列表排序、嵌套字典排序

    python字典是常用的数据结构,经常用到各种python字典的排序,记录一下不同字典排序的方法. 正常字典排序 正常的字典我们都知道,其排序如下: a={100:1,101:0,102:2}b=so ...

最新文章

  1. 【青少年编程】【三级】病毒传染模拟程序
  2. VLC 关键模块结构分析
  3. Essential Studio for mobile MVC中2种添加移动图表到MVC3 ASPX应用程序中的方法
  4. (转)git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
  5. AC自动机:例题与机制详解
  6. 使用活动记录执行CRUD
  7. TensorFlow入门--队列与TensorBoard操作
  8. 锂电池接线方法图_锂电池制浆工艺(2)——制浆设备种类及特征
  9. webdriver原理
  10. 开调查公司创业,他的公司营业额达80万
  11. multisim如何添加8050(例),8550,9013,9014
  12. 提取Linux的下制作生成grldr,如何制作自己的LINUX系统?
  13. 四级英语图表作文真题计算机,2016年四级作文模板之图片与图表
  14. 点线面的意义_【干货】设计中的点线面到底有什么用?
  15. 爬虫 -- 王者荣耀爬虫,爬取每个英雄的皮肤图片
  16. Oracle11g导入DMP文件并导出为CSV文件过程全纪录
  17. Docplex入门(1)——线性规划
  18. 【图像分割】ExG超绿特征灰度化、二值化分割(Matlab及Python代码实现)
  19. 自动添加Opera搜索串
  20. PostgreSQL 不在使用tigger或rule来模拟 SSQLSERVER timestamp 行变化版本管理

热门文章

  1. [转载]从12306谈起验证码的架构
  2. mysql存储过程写法—动态参数运用
  3. php将中文插入数据库出现乱码
  4. ASP.NET中文件上传下载方法集合
  5. IromPython .Net 的简介和第一个例子
  6. 【推荐】《精通.NET互操作:P/Invoke,C++ Interop和COM Interop》
  7. WinForm 程序的界面多语言切换
  8. Caffe2——cifar10数据集创建lmdb或leveldb类型的数据
  9. 解决Uncaught SyntaxError: Unexpected token var报错问题
  10. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)