python字典排序的两种方案,并产生排名

简介: python字典排序的两种方案,并产生排名

方案1:将字典中的项转化为(值,键) 元组

from random import randint
d = {k:randint(60,100) for k in 'abcdefg'}  # 生成字典
# 列表解析,转化
l = [(v,k) for k, v in d.items()]
# 排序
print(sorted(l,reverse=False)) # 升序
print(sorted(l,reverse=True))  # 降序
# 也可以使用zip函数进行转化
l = list(zip(d.values(),d.keys()))
print(sorted(l))


方案2:传递sorted函数的key函数

使用sorted函数中的key参数,根据指定的方式排序

一般用用这个方法的比较多


p = sorted(d.items(),key=lambda item:item[1],reverse=True)  # 降序排列
# item 是由键值对转化成的元组,


生成排名

利用enumerate函数


print(enumerate(p))
print(*enumerate(p,1)) # 第二个参数是起始值
(1, ('e', 98)) (2, ('b', 96)) (3, ('c', 93)) (4, ('a', 91)) (5, ('d', 83)) (6, ('f', 82)) (7, ('g', 78))


遍历


for i,(k,v) in enumerate(p,1):   # i,(k,v)对enumerate拆包,(k,v)对p进行拆包,p是一个元组
    print(i,k,v)
相关文章
|
18小时前
|
存储 Python 容器
Python 基础 笔记(八) 容器---元组、字典、集合
Python 基础 笔记(八) 容器---元组、字典、集合
10 4
|
1天前
|
数据采集 Python
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
|
1天前
|
算法 开发工具 Python
python排序的几种方法(3)
python排序的几种方法(3)
|
1天前
|
算法 程序员 Python
python排序的几种方法(1)
python排序的几种方法(1)
|
1天前
|
机器学习/深度学习
python-随机森林后筛选最重要变量,模型准确率、随机森林混淆矩阵结果、基尼系数排序图
python-随机森林后筛选最重要变量,模型准确率、随机森林混淆矩阵结果、基尼系数排序图
|
1天前
|
开发工具 Python
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
|
4天前
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
|
6天前
|
机器人 大数据 区块链
量化合约系统开发方案(成熟Python)丨合约量化系统开发(OK、BSC)
什么是去中心化:去中心化:智能合约可以在脱离第三方信任机构的情况下完成背书,进行点对点交易,不需要任何第3方的介入,通过节点的共同验证、维护、以及后续的保障实施就能完成交易。量化交易机器人优点:1、克服人性的弱点:没有贪婪和恐惧,纪律性强、严格执行投资策略,不受投资者情绪的变化而随意更改。2、模型的系统性:多层次的量化模型、多角度的观察及海量数据的处理,结合大数据处理技术捕捉至刂更多的投资机会。
|
6天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
6天前
|
索引 Python
Python中的列表、元组和字典各具特色
【5月更文挑战第11天】Python中的列表、元组和字典各具特色:列表是可变的,元组不可变,字典亦可变;列表和元组有序,字典无序(但在Python 3.7+保持插入顺序);元素类型上,列表和元组元素任意,字典需键不可变;列表用方括号[],元组用圆括号(),字典用大括号{}表示。列表不适合作字典键,元组可以。选择数据结构应依据实际需求。
23 2