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字典排序取最值总结的更多相关文章

  1. Python字典排序

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

  2. python 字典(dict)按键和值排序

    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序 ...

  3. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  4. python 字典排序,列表排序详细

    在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按“键”排序和按“值”排序. 1.按“值 ...

  5. <转>python字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  6. Python 字典的一键多值,即一个键对应多个值

    转自:http://blog.csdn.net/houyj1986/article/details/22624981 #encoding=utf-8 print '中国' #字典的一键多值 print ...

  7. Python 字典的取值

    不能用.取值 .是获取属性或方法 只能用中括号或者get方法 中括号和get中可以放字符串或者变量 get与[]的区别在于当key不存在,get不会报错,而且get可以设置取不到值时返回的默认值.

  8. (转)Python 字典排序

    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...

  9. mysql 分组排序取最值

    查各个用户下单最早的一条记录 查各个用户下单最早的前两条记录 查各个用户第二次下单的记录 一.建表填数据: SET NAMES utf8mb4; -- 取消外键约束 ; -- ------------ ...

随机推荐

  1. EasyUI Tree与Datagrid联动

      效果图 这是一个简单的solr检索的例子   输入关键词,显示树   选择一个节点,得到该节点下文档信息   代码: JSP: 重点是标红的URL传递 <body>     <d ...

  2. JS实现数据双向绑定

    本文参考https://www.cnblogs.com/tianhaining/p/8425345.html 首先先说个面试题哈,就是vue中的v-model是如何实现双向数据绑定的咳咳,下面开始背诵 ...

  3. php循环语句(一)

    PHP 循环语句 什么是循环语句? 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句.一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件.循环结构是在一定 ...

  4. R语言之数据处理

    R语言之数据处理 一.向量处理 1.选择和显示向量 data[1] data[3] data[1:3] data[-1]:除第一项以外的所有项 data[c(1,3,4,6)] data[data&g ...

  5. python intern(字符串驻留机制)

    python 中为了提高字符串的使用用效率和节约内存,对于由 字母.数字.下划线组成的标识符采用了 intern 机制,即对于短字符串,将其赋值给多个对象时,内存中只有一个副本,多个对象共享这个副本. ...

  6. 享元模式(Flyweight、FlyweightFactory)(围棋棋子共享)

    (使用共享对象可有效地支持大量的细粒度的对象.) 假设开发一个围棋程序,围棋程序的围棋的棋子包含了颜色.大小.位置等信息.在定义一个棋盘容器来存放这些棋子. 我们可以发现,棋盘的成员变量包含了一个棋子 ...

  7. Lamdba表达式的代码使用讲解

    public class Lambda{ public static void main(String[] args) { repeat(10, (i)->System.out.print(&q ...

  8. hdu 1059 Dividing(多重背包优化)

    Dividing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  9. Visifire For WPF 图表控件 如何免费

    可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这时候有必要借助一种专业的图表工具. Vis ...

  10. python条件变量之生产者与消费者操作实例分析

    python条件变量之生产者与消费者操作实例分析 本文实例讲述了python条件变量之生产者与消费者操作.分享给大家供大家参考,具体如下: 互斥锁是最简单的线程同步机制,面对复杂线程同步问题,Pyth ...