常见列表字典排序

一、列表排序

demoList = [1, 3, 2, 4, 9 ,7]res = sorted(demoList)  # 默认升序# 降序
# res = sorted(demoList, reverse=True)print(res)

在这里插入图片描述

二、字典排序

demoDict = {"篮球": 5, "排球": 9, "网球": 6, "足球": 3}# sorted排序
res = sorted(demoDict.items(),key=lambda x:x[1])
print(res)
# sort排序,其实将字典转成<<列表+元组>>格式排序
newList = list(demoDict.items())  # [('篮球', 5), ('排球', 9), ('网球', 6), ('足球', 3)]
newList.sort(key=lambda x:x[1])
print(newList)
print(dict(newList))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、<<列表+字典>>排序

demoList = [{"name": "张三", "age": 16}, {"name": "李四", "age": 24}, {"name": "王五", "age": 20}, {"name": "赵六", "age": 18}
]sorted(demoList, key=lambda x:x["age"])

在这里插入图片描述

四、<<列表+元组>>排序

  • 在 (二、字典排序)中有介绍

五、<<列表+列表>>排序

demoList = [["张三", 16, "北京市"], ["李四", 24, "上海市"], ["王五", 20, "广州市"], ["赵六", 18, "深圳市"]
]sorted(demoList, key=lambda x:x[1])

在这里插入图片描述

六、<<列表+对象>>排序

class Student:def __init__(self, name, grade, age):self.name = nameself.grade = gradeself.age = agedef __repr__(self):return repr((self.name, self.grade, self.age))stuObj = [Student('john', 'A', 15),Student('jane', 'B', 12),Student('dave', 'B', 10),
]sorted(stuObj, key=lambda x: x.age)

在这里插入图片描述

七、<<列表+字典运算>>排序

demoList = [{'key1': 1, 'key2': 1}, {'key1': 5, 'key2': 1}, {'key1': 3, 'key2': 6}, {'key1': 2, 'key2': 3}, {'key1': 4, 'key2': 9}
]demoList.sort(key=lambda x:x["key1"]+x["key2"])
print(demoList)

在这里插入图片描述

八、高级拓展

8.1、None值无法被排序

demoList = [{"name": "张三", "age": 16}, {"name": "李四", "age": 24}, {"name": "王五", "age": 20}, {"name": "赵六", "age": 18},{"name": "孙七", "age": None}
]

在这里插入图片描述

  • 解决方式
demoList.sort(key=lambda x:(x["age"] is None, x["age"] == "", x["age"]))
print(demoList)

在这里插入图片描述

8.2、字典取最大|小值

demoDict = {"篮球": 5, "排球": 9, "网球": 6, "足球": 3}# 最大值
maxData = max(demoDict.items(), key=lambda x:x[1])
print(maxData)
# 最小值
minData = min(demoDict.items(), key=lambda x:x[1])
print(minData)

在这里插入图片描述
在这里插入图片描述

8.3、多重条件排序

demoList = [{"name": "诺基亚K", "price": 2399, "level": 1}, {"name":"魅族", "price": 2499, "level": 3},{"name": "中兴E", "price": 2399, "level": 3}, {"name": "vivoZ", "price": 2799, "level": 2}, {"name": "oppoT", "price": 2699, "level": 2}, {"name": "小米Y", "price": 2999, "level": 2}, {"name": "华为X", "price": 2999, "level": 1}, {"name": "苹果P", "price": 5799, "level": 1}, {"name": "三星W", "price": 5799, "level": 1}
]# 两重查询条件,价格(默认升序)、级别(默认升序)
sorted(demoList, key=lambda x:(x["price"], x["level"]))
# 两重查询条件,价格(默认升序)、级别(降序可以用-)
sorted(demoList, key=lambda x:(x["price"], -x["level"]))
  • 价格⬆级别⬆
    在这里插入图片描述
  • 价格⬆级别⬇
    在这里插入图片描述

8.4、operator实现排序

  • 排序的思想同匿名函数lambda一样
# 举个字典排序
demoDict = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}# lambda排序
sorted(demoDict.items(), key=x: x[1])# operator排序
import operator
sorted(demoDict.items(), key=operator.itemgetter(1))# 仔细看其实排序都是一样的,无非是换种写法

8.5、多层列表字典排序

demoDict = {"a": [{"key": 2}], "c": [{"key": 1}], "b": [{"key": 3}]
}sorted(demoDict.items(), key=lambda x:x[1][0]["key"])
print(demoDict)
print(dict(demoDict))

在这里插入图片描述
在这里插入图片描述

九、结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring面试题21:说一说Spring的@Required注解和@Qualifier注解

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说Spring的@Required注解 @Required ,用于标记在注入的属性上。它表示被注解的属性在配置 Bean 的时候是必需的,如果没有正确配置,则会抛出…

如何使用 API 接口获取商品数据,从申请 API 接口、使用 API 接口到实际应用,一一讲解

在当今的数字化时代&#xff0c;应用程序接口&#xff08;API&#xff09;已经成为数据获取的重要通道。API 接口使得不同的应用程序能够方便地进行数据交换&#xff0c;从而促进了信息的广泛传播和利用。在众多的数据源中&#xff0c;商品数据是一个非常重要的领域&#xff0c…

OS 模拟进程状态转换

下面的这个博主写的很好 但是他给的代码print部分和语言风格python三识别不了 这个特别感谢辰同学帮我调好了代码 我放在主页上了 估计过两天就可以通过了 《操作系统导论》实验一&#xff1a;模拟进程状态转换_process-run.py-CSDN博客 这个补充一下他没有的&#xff1a;OS…

R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...

全文链接&#xff1a;http://tecdat.cn/?p31162 最近我们被客户要求撰写关于SV模型的研究报告&#xff0c;包括一些图形和统计输出&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 本文做SV模型&#xff0c;选取马尔可夫蒙特卡罗法(MCMC)、正则化广…

汽车电子——产品标准规范汇总和梳理(信息安全)

文章目录 前言 一、整车 二、充电接口 三、诊断接口 四、远程接口 五、实施指南 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、整车 《GB/T 40861-2021 汽车信息安全通用技术要求》 《GB XXXXX—XXXX 汽车整车信息安全技术要求》 《GB/T 41871-2022 信息…

uni-app:canvas-绘制图形4(获取画布宽高,根据画布宽高进行图形绘制)

效果 代码 var width ; var height ; const query uni.createSelectorQuery(); //获取宽度 query.select(#firstCanvas).fields({ size: true }, (res) > { width res.width; height res.height; }).exec(); console.log(宽度width); console.log(高…

计算机网络 - 链路层

计算机网络 - 链路层 计算机网络 - 链路层 基本问题 1. 封装成帧2. 透明传输3. 差错检测 信道分类 1. 广播信道2. 点对点信道 信道复用技术 1. 频分复用2. 时分复用3. 统计时分复用4. 波分复用5. 码分复用 CSMA/CD 协议PPP 协议MAC 地址局域网以太网交换机虚拟局域网 基本问题…

AIGC快速入门体验之虚拟对象

AIGC快速入门体验之虚拟对象 一、什么是AIGC二、AIGC应用场景2.1 代码生成2.2 图片生成2.3 对象生成 三、AIGC虚拟对象3.1 AIGC完全免费工具3.2 快速获取对象3.3 给对象取名3.4 为对象写首诗3.5 和对象聊聊天 一、什么是AIGC AIGC是生成式人工智能&#xff08;Artificial Intel…

吉利微型纯电,5 万元的快乐

熊猫骑士作为一款主打下层市场的迷你车型&#xff0c;吉利熊猫骑士剑指宝骏悦也&#xff0c;五菱宏光 MINI 等热门选手。 9 月 15 日&#xff0c;吉利熊猫骑士正式上市&#xff0c;售价为 5.39 万&#xff0c;限时优享价 4 .99 万元。价格和配置上对这个级别定位的战略车型有一…

【kkFileView】源码编译打包构建镜像部署

目录 官网使用源码构建镜像k8s启动yaml参考使用介绍 官网 官网: http://kkfileview.keking.cn/zh-cn/index.html在线文档: http://kkfileview.keking.cn/zh-cn/docs/home.html源码地址: https://gitee.com/kekingcn/file-online-preview发行版下载页面: https://gitee.com/kek…

运行软件mfc100u.dll缺失是怎么办?mfc100u.dll丢失解决方法分享

Mfc100u.dll 丢失的问题可能困扰着许多使用计算机的用户。Mfc100u.dll 是一个重要的动态链接库文件&#xff0c;它包含了许多功能模块&#xff0c;如字符串处理、数学计算、文件操作等。当 Mfc100u.dll 文件丢失或损坏时&#xff0c;可能会导致许多应用程序无法正常运行&#x…

kafka环境搭建以及基本原理

kafka最先是作为日志数据采集&#xff0c;后用于消息传递&#xff0c;kafka能承担tb级别数据存储&#xff0c;确保服务的可用性&#xff0c;允许少量数据的丢失 作为消息中间件就有异步、解耦、削峰三个作用 一、单机搭建 单机ip&#xff1a;192.168.64.133 下载地址&#…

JOSEF约瑟DZJ-402 DZY-401导轨式中间继电器 触点形式 两转换 AC、DC220V

DZY(J)-400导轨式中间继电器 系列型号 DZY、DZJ-401 DZY、DZJ-402 DZY、DZJ-403 DZY、DZJ-404 DZY、DZJ-405 DZY、DZJ-406 DZY、DZJ-407 DZY、DZJ-408 DZY、DZJ-409 DZY、DZJ-410 DZY、DZJ-411 DZY、DZJ-412 DZY、DZJ-413 DZY、DZJ-414 DzY、DZJ-415 DZY、DZJ…

[Qt]QListView 重绘实例之一:背景重绘

0 环境 Windows 11Qt 5.15.2 MinGW x64 1 系列文章 简介&#xff1a;本系列文章&#xff0c;是以纯代码方式实现 Qt 控件的重构&#xff0c;尽量不使用 Qss 方式。 《[Qt]QListView 重绘实例之一&#xff1a;背景重绘》 《[Qt]QListView 重绘实例之二&#xff1a;列表项覆…

亿发连锁商超新零售解决方案提供商,提供定制新零售管理系统

时代的发展带动了经济环境的变化&#xff0c;为迎合市场经济的发展需求&#xff0c;数字化收银逐渐融入到大中生活中&#xff0c;中小型商铺都倾向于使用智慧收银系统取代传统收银模式。新零售系统成为了商家在竞争激烈的市场中立足的关键。但随之也带来了数不尽的竞争压力&…

提升群辉AudioStation音乐体验,实现公网音乐播放

文章目录 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是本教程使用环境&#xff1a;1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透&#xff0c;映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿&#xff0c;于是打开手…

SpringBoot之视图解析

文章目录 前言一、视图解析1.视图解析原理流程 二、模板引擎——Thymeleaf基本语法表达式字面量文本操作数学运算布尔运算比较运算条件运算特殊操作设置属性值-th:attr迭代条件运算属性优先级 提取公共页面th:insertth:replace区别 总结 前言 SpringBoot默认不支持 JSP&#x…

nodejs进阶知识

文章目录 写在前面一、dependencies、devDependencies和peerDependencies区别&#xff1a;二、需要牢记的npm命令2.1 npm2.2 npm config list2.3 npm配置镜像源 三、npm install 的原理四、package-lock.json的作用五、npm run 的原理六、npx6.1 npx是什么6.2 npx的优势6.3 npm…

Windows上安装 Go 环境

一、下载go环境 下载go环境&#xff1a;Go下载官网链接找到自己想下载的版本&#xff0c;点击下载&#xff0c;比如我这是windows64位的&#xff0c;我就直接点击最新的。 二、安装go环境 双击下载的.msi文件 next next 他默认的是c盘&#xff0c;你自己可以改&#xff0c;然…

解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…