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)
python字典排序取最值总结的更多相关文章
- Python字典排序
利用引出一个例子来理解 例如:比如使用Python字典排序,d={'a':1,'c':3,'b':2}按值升序排列,我们可以用sorted高阶函数或者用列表的.sort()方法.下面具体阐述两种排序方 ...
- python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序 ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- python 字典排序,列表排序详细
在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按“键”排序和按“值”排序. 1.按“值 ...
- <转>python字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- Python 字典的一键多值,即一个键对应多个值
转自:http://blog.csdn.net/houyj1986/article/details/22624981 #encoding=utf-8 print '中国' #字典的一键多值 print ...
- Python 字典的取值
不能用.取值 .是获取属性或方法 只能用中括号或者get方法 中括号和get中可以放字符串或者变量 get与[]的区别在于当key不存在,get不会报错,而且get可以设置取不到值时返回的默认值.
- (转)Python 字典排序
我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...
- mysql 分组排序取最值
查各个用户下单最早的一条记录 查各个用户下单最早的前两条记录 查各个用户第二次下单的记录 一.建表填数据: SET NAMES utf8mb4; -- 取消外键约束 ; -- ------------ ...
随机推荐
- Trie树 模板
普通Trie: struct TRIE{ ],tot,end[MAXN]; TRIE(){tot=;} void insert(char *s){//s为要插入的字符串 int len=strlen( ...
- linear-gradient
http://jsbin.com/mocojehosa/edit?html,css,output https://developer.mozilla.org/zh-CN/docs/Web/CSS/li ...
- JQuery--漂亮的三目运算与jQ选择器结合代码
$(function($) { $("input[name='timeset']").bind('click', function() { $(this).val() == 'cu ...
- 仓库盘点功能-ThinkPHP_学习随笔
public function check() { $db = M('Bookinfo'); $region = I('post.region'); $c = $db -> count(); f ...
- 机器学习中的隐马尔科夫模型(HMM)详解
机器学习中的隐马尔科夫模型(HMM)详解 在之前介绍贝叶斯网络的博文中,我们已经讨论过概率图模型(PGM)的概念了.Russell等在文献[1]中指出:"在统计学中,图模型这个术语指包含贝叶 ...
- java锁_IO_NIO_AIO_BIO_GC_Jvm
如何保证线程安全,线程锁有哪些? 同步方法和同步代码块常见的锁:ReentrantLock与synchronized二者区别: (1) 线程A和B都要获取对象O的锁定,假设A获 ...
- Eureka自我保护机制、健康检查的作用、actuator模块监控
在上一篇文章微服务入门之服务的注册以及服务之间的调用中,我们基本实现了服务之间的调用,今天我们来了解一下Eureka自我保护机制以及健康检查. Eureka自我保护机制 接着以上篇文章建立的三个工程为 ...
- Vue开发警告[Vue warn]: Avoid replacing instance root $data. Use nested data properties instead.
Avoid replacing instance root $data. Use nested data properties instead. 翻译 避免替换实例根$data.请改用嵌套数据属性 错 ...
- uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤
uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...
- 前端小知识--区分get和post请求
get和post是HTTP协议中的两种发送请求的方法. 如果你还不了解http,可以点击[HTTP协议①介绍](https://www.jianshu.com/p/632b890b75ac)[HTTP ...