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)
相关文章
|
1天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
20 10
|
22天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
33 2
|
26天前
|
机器学习/深度学习 Rust 算法
Python环境管理的新选择:UV和Pixi,高性能Python环境管理方案
近期Python生态系统在包管理领域发生了重要变化,Anaconda调整商业许可证政策,促使社区寻找更开放的解决方案。本文介绍两款新一代Python包管理工具:UV和Pixi。UV用Rust编写,提供高性能依赖解析和项目级环境管理;Pixi基于Conda生态系统,支持conda-forge和PyPI包管理。两者分别适用于高性能需求和深度学习项目,为开发者提供了更多选择。
111 2
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
27 1
|
2月前
|
搜索推荐 Python
快速排序的 Python 实践:从原理到优化,打造你的排序利器!
本文介绍了 Python 中的快速排序算法,从基本原理、实现代码到优化方法进行了详细探讨。快速排序采用分治策略,通过选择基准元素将数组分为两部分,递归排序。文章还对比了快速排序与冒泡排序的性能,展示了优化前后快速排序的差异。通过这些分析,帮助读者理解快速排序的优势及优化的重要性,从而在实际应用中选择合适的排序算法和优化策略,提升程序性能。
64 1
|
4月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
83 13
|
3月前
|
存储 Java Serverless
【Python】字典
【Python】字典
44 1
|
4月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
52 2
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
57 0
|
3月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
45 0

热门文章

最新文章