Python使用lambda表达式对字典排序操作示例
作者:zhandawang 发布时间:2022-12-26 06:27:46
标签:Python,lambda表达式,字典,排序
本文实例讲述了Python使用lambda表达式对字典排序操作。分享给大家供大家参考,具体如下:
lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了。
字典按键排序
显然按键排序,需要用字典中每个元素的第一项排序
dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[0])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[0],reverse=True)
输出(第一个升序,第二个降序):
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 3), ('f', 1), ('g', 7)]
[('g', 7), ('f', 1), ('e', 3), ('d', 4), ('c', 3), ('b', 2), ('a', 1)]]
字典按值排序
需要使用字典中每个元素的第二项进行排序
dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[1])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[1],reverse=True)
输出
[('f', 1), ('a', 1), ('b', 2), ('e', 3), ('c', 3), ('d', 4), ('g', 7)]
[('g', 7), ('d', 4), ('e', 3), ('c', 3), ('b', 2), ('f', 1), ('a', 1)]
字典的多条件排序
如上例子,我们想将字典按值排序,当值相等时我们按键排序,那么就是多条件排序。
dict = {'f':1,'b':2,'c':3,'d':4,'e':3,'a':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:(item[1],item[0]))
sorted_dict_dsc = sorted(dict.items(),key=lambda item:(item[1],item[0]),reverse=True)
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/qq_42867540/article/details/88676466
0
投稿
猜你喜欢
- tensorflow中可以通过配置环境变量 'TF_CPP_MIN_LOG_LEVEL' 的值,控制tensorflow是否
- 1000块钱做个百度?能提出这种要求的客户实乃乙方克星、民族之光、科创永动机、西虹市一大杰出青年,诺奖永远得不到的人才。但作为一个硬核的程序
- 目录1. 加载保存好的模型2. 使用flask起服务3. 发送请求并得到结果4. 效果呈现1. 加载保存好的模型为了方便起见,这里我们就使用
- 本文实例讲述了JavaScript对象的浅拷贝和深拷贝。分享给大家供大家参考,具体如下:1、浅拷贝仅仅复制对象的引用,而不是对象本身。var
- 本文实例讲述了Python二叉树的遍历操作。分享给大家供大家参考,具体如下:# coding:utf-8"""
- 类的定义Python中,定义类是通过class关键字,例如我们定义一个存储学生信息的类:class Student(object):pass
- 本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下:默认情况下ThinkPHP框架系统默认使用的模板引
- 默认情况下,IIS 使用端口 80 进行 HTTP 通信。如果除 IIS 以外的某个应用程序正在运行并在使用相同 IP 地址的端口 80,当
- RSS 是一个可用多种扩展来表示的缩写:“RDF 站点摘要(RDF Site Summary)”、“真正简单的辛迪加(Really Simp
- layui数据表格批量删除多条件搜索框:注样式自己写<div class="demoTable" style=&q
- 需求背景假设我们想设计一个定时任务,比如每天定时的用python来测试服务是否在正常运行,但是又不希望每天登录到系统后台去查看服务状态。这里
- 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了。php下载文件其实用一个a标签就能实现,比如 <a
- 1.使用Docker安装Elasticsearch及其扩展获取镜像,可以通过网络pullsudo docker image pull del
- 一、前言相关知识来自《python算法设计与分析》。初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒
- 富文本编辑器,Rich Text Editor, 简称 RTE, 它提供类似于 Microsoft Word 的编辑功能,容易被不会编写 H
- 当 MySQL 数据库服务删除部分数据后;有些情况下这些数据占用的存储空间会释放掉,有些情况这些存储空间则不会释放。以下是对这种情况的简单说
- 本文实例讲述了Python 面向对象之封装、继承、多态操作。分享给大家供大家参考,具体如下:封装、继承、多态 是面向对象的3大特性为啥要封装
- 最近学习了SSD算法,了解了其基本的实现思路,并通过SSD模型训练自己的模型。基本环境torch1.2.0Pillow8.2.0torchv
- 注意这里提取到的人脸图片的保存地址要改成自己要保存的地址opencv人脸的检测模型的路径也要更改为自己安装的opencv的人脸检测模型的路径
- 分享一个以前写的小游戏,纯js游戏,代码很简单。欢迎大家来喷呦!效果图: 代码展示://直接复制到html文件即可 支持IE9+版