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; -- 取消外键约束 ; -- ------------ ...
随机推荐
- 洛谷P2333 [SCOI2006]一孔之见
传送门 辣鸡题目毁我人生败我前程 50分代码 //Achen #include<algorithm> #include<iostream> #include<cstrin ...
- PAT甲级——A1026 Table Tennis
A table tennis club has N tables available to the public. The tables are numbered from 1 to N. For a ...
- js数组快速排序/去重
数组的排序 快速排序 思路: (1)在数据集之中,选择一个元素作为”基准”(pivot). (2)所有小于”基准”的元素,都移到”基准”的左边:所有大于”基准”的元素,都移到”基准”的右边. (3) ...
- Oracle时间日期处理方法
https://www.cnblogs.com/plmm/p/7381496.html 1.用于截取年.月.日.时.分.秒 extract()函数 extract(year from sysdate) ...
- iOS Bezier曲线
https://www.jianshu.com/p/2316f0d9db65 1. Bezier曲线 相关软件:PaintCode:可以直接画图,软件根据图像生产Bezier曲线 相关概念:UIBez ...
- fork 与 vfork
fork 函数复制父进程(包括父进程的地址空间)产生子进程 在父进程返回子进程ID,在子进程本身返回0. fork一般有两个用处: 1.网络服务进程等待请求,新请求到来,fork一个子进程处理,父进程 ...
- Leetcode559.Maximum Depth of N-ary TreeN叉树的最大深度
给定一个 N 叉树,找到其最大深度. 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数. 说明: 树的深度不会超过 1000. 树的节点总不会超过 5000. class Solution { ...
- MySQL系列(一)--基础知识(转载)
安装就不说了,网上多得是,我的MySQL是8.0版本,可以参考:CentOS7安装MySQL8.0图文教程和MySQL8.0本地访问设置为远程访问权限 我的MySQL安装在阿里云上面,阿里云向外暴露端 ...
- RDS for PostgreSQL 云盘加密功能使用方法
RDS for PostgreSQL支持数据盘的加密功能,提供更高的数据存储安全等级.(加密KEY可以由用户提供,也可以由KMS服务生成.) 使用方法: 1.选中需要购买数据库实例的region,创建 ...
- c++设计模式:策略模式
1.主要思想:例如针对不同的算法,创建不同的类. #include <iostream> using namespace std; // The abstract strategy cla ...