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)
相关文章
|
9天前
|
搜索推荐 Python
快速排序的 Python 实践:从原理到优化,打造你的排序利器!
本文介绍了 Python 中的快速排序算法,从基本原理、实现代码到优化方法进行了详细探讨。快速排序采用分治策略,通过选择基准元素将数组分为两部分,递归排序。文章还对比了快速排序与冒泡排序的性能,展示了优化前后快速排序的差异。通过这些分析,帮助读者理解快速排序的优势及优化的重要性,从而在实际应用中选择合适的排序算法和优化策略,提升程序性能。
23 1
|
2月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
53 13
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
30 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
27 0
|
1月前
|
存储 算法 搜索推荐
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
70 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)