当前位置: 首页 > news >正文

字典列表依据数值键排序

要根据字典列表中的特定数值键进行排序,我们可以使用 Python 的 sorted() 函数配合自定义排序键。以下是操作方法:

1. 按升序排序(从小到大)

sorted_list = sorted(original_list, key=lambda x: x['数值键名'])

2. 按降序排序(从大到小)

sorted_list = sorted(original_list, key=lambda x: x['数值键名'], reverse=True)

示例代码

假设有以下数据(假设数值键名为 "score"):

data = [{"name": "Alice", "score": 88},{"name": "Bob", "score": 92},{"name": "Charlie", "score": 75}
]# 按 score 升序排序
sorted_asc = sorted(data, key=lambda x: x["score"])
print(sorted_asc)
# 输出:[{'name': 'Charlie', 'score': 75}, {'name': 'Alice', 'score': 88}, {'name': 'Bob', 'score': 92}]# 按 score 降序排序
sorted_desc = sorted(data, key=lambda x: x["score"], reverse=True)
print(sorted_desc)
# 输出:[{'name': 'Bob', 'score': 92}, {'name': 'Alice', 'score': 88}, {'name': 'Charlie', 'score': 75}]

关键说明:

  1. 替换键名:将代码中的 '数值键名' 替换为实际字典中的数值键(如 "age", "price", "weight" 等)。
  2. 保留完整字典:排序后的列表会完整保留每个字典的所有键值对,仅顺序发生变化。
  3. 数值类型:要求目标键的值必须是数字(整数或浮点数),否则会抛出类型错误。

复杂情况处理

如果数值键可能缺失或包含非数字值,可添加异常处理:

sorted_list = sorted(original_list, key=lambda x: float(x['数值键名']) if str(x['数值键名']).replace('.', '').isdigit() else 0)

请将 数值键名 替换为实际字典中的键名(如 "age", "height", "price" 等),即可直接使用代码。

http://www.lryc.cn/news/614629.html

相关文章:

  • 【跨国数仓迁移最佳实践5】MaxCompute近线查询解决方案助力物流电商等实时场景实现高效查询
  • 防火墙安全作用及 firewalld 交互、端口配置
  • zookeeper3.8.4安装以及客户端C++api编译
  • hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备
  • ESP32-menuconfig(2) -- Application manager
  • Lazada东南亚矩阵营销破局:指纹手机如何以“批量智控+数据中枢”重构运营生态
  • Dart关键字完全指南:从基础到高级用法详解
  • 商品期货场外期权系统解决方案:跨境金融科技赋能大宗商品风险管理
  • 【代码随想录day 15】 力扣 110.平衡二叉树
  • Android初学者系统开发学习路线参考
  • Zabbix网络发现:自动化监控新利器
  • 【无标题】无名管道
  • NY128NY133美光固态闪存NY139NY143
  • 施耐德Twido PLC怎么实现远程上下载程序和编程配置?
  • F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
  • 安全常见漏洞
  • openpnp - 不连接设备,只大概测试一下摄像头是否好使
  • Java中的方法引用操作符(::)详解与实战应用
  • Linux 运维与优化的系统化思维:从内核到生产环境的全链路管理
  • 【C++】类和对象--类中6个默认成员函数(2) --运算符重载
  • 笔试——Day32
  • 基于LLM的Chat应用测试方法探索:系统化评估与持续优化
  • 企业本地知识库助手 大模型+本地知识库
  • Prometheus 监控平台部署与应用
  • 【代码随想录day 14】 力扣 104.二叉树的最大深度
  • 三种 SSE 对比
  • 【LLM开发学习】
  • 十三、抽象队列同步器AQS
  • ClickHouse集群部署实践---3分片2副本集群
  • 【C#】掌握并发利器:深入理解 .NET 中的 Task.WhenAll