使用sorted对字典排序

news2024/11/24 19:30:11

有时我们需要按照字典数据的键值对进行排序,这个时候就可以用到sorted函数。

import operator
dic={"testA":3,"testC":1,"testB":4,"testD":2}
dicn=sorted(dic.items(),key=operator.itemgetter(0))
print(dicn)

比如我们要对dic里面的内容进行排序

如果要key值排序,写0。

如果value值排序,写1

1、程序按key排序

dicn=sorted(dic.items(),key=operator.itemgetter(0))

输出结果:

[('testA', 3), ('testB', 4), ('testC', 1), ('testD', 2)]

2、程序按value排序

dicn=sorted(dic.items(),key=operator.itemgetter(1))

输出结果:

[('testC', 1), ('testD', 2), ('testA', 3), ('testB', 4)]

3、程序按指定的value排序

dic2=[{"testA":"d:\rr\tt","num":3},{"testC":"d:\rr1\tt","num":1},{"testB":"d:\rr2\tt","num":2}]
dicn=sorted(dic2,key=operator.itemgetter("num"))
print(dicn)

如dic2按照num数值的大小排序

输出结果:

[{'testA': 'd:\rr1\tt', 'num': 1}, {'testA': 'd:\rr2\tt', 'num': 2}, {'testA': 'd:\rr\tt', 'num': 3}]

打印出dicn的内容

for i in range(0,3):
    print(dicn[i])

输出结果:

{'testC': 'd:\rr1\tt', 'num': 1}
{'testB': 'd:\rr2\tt', 'num': 2}
{'testA': 'd:\rr\tt', 'num': 3}

接着打印出dicn里面每个列表的每个键内容:

for i in range(0,3):
    print(dicn[i])
    for content in dicn[i]:
        print(content)

输出结果:

{'testC': 'd:\rr1\tt', 'num': 1}
testC
num
{'testB': 'd:\rr2\tt', 'num': 2}
testB
num
{'testA': 'd:\rr\tt', 'num': 3}
testA
num

接着打印出dicn里面每个列表的第一个键值对内容:

for i in range(0,3):
    print(dicn[i])
    n=0
    for content in dicn[i].items():
        if n==0:
            print(content)
            n=n+1

运行结果:

{'testC': 'd:\rr1\tt', 'num': 1}
('testC', 'd:\rr1\tt')
{'testB': 'd:\rr2\tt', 'num': 2}
('testB', 'd:\rr2\tt')
{'testA': 'd:\rr\tt', 'num': 3}
('testA', 'd:\rr\tt')

打印出每个子列第一个表键值对内容

for i in range(0,3):
    print(dicn[i])
    n=0
    for content in dicn[i].items():
        if n==0:
            print(content[0])
            print(content[1])
            n=n+1

运行结果:

{'testC': 'd:\\rr1\\tt', 'num': 1}
testC
d:\rr1\tt
{'testB': 'd:\\rr2\\tt', 'num': 2}
testB
d:\rr2\tt
{'testA': 'd:\\rr\\tt', 'num': 3}
testA
d:\rr\tt

Process finished with exit code 0

愿每个测试都能顺利转为测试开发,提高职业技能,成为前1%的存在,为公司节约更多的成本,为社会创造更大的价值,为自己和家庭谋求更高的收入,所有人不受职业年龄限制,越老越吃香,直至财富自由;愿测试技术越来越进步,测试效率提高,软件质量不断提高。愿祖国更加美好,人民更加幸福。多喜乐,常安宁。

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

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

相关文章

DB-GPT Docker部署

感谢阅读 拉取镜像linux判断拉取是否成功的方法windows判断拉取是否成功的方法 模型以及启动容器模型启动容器 界面如下(0.56): 拉取镜像 docker pull eosphorosai/dbgpt:latestlinux判断拉取是否成功的方法 docker images | grep "eo…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件,如果你有其他好使的插件,欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件,IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作,Key Pr…

AGV叉车自动化存取货场景到底有哪些?

AGV 在各种新技术发展的今天,叉车越来越智能化,agv无人叉车作为工业自动化领域的不可或缺的搬运设备,被广泛应用于各个行业中,主要用来实现重复性搬运、搬运工作强度大、工作环境恶劣、环境要求高的领域,近些年&#x…

C# OpenCvSharp 入门

摘要 C# OpenCvSharp 是一个基于OpenCV(开源计算机视觉库)的C#封装库,它提供了一组功能强大的工具和函数,用于图像处理、计算机视觉和计算机图形学等领域。通过使用OpenCvSharp库,您可以在C#应用程序中轻松地实现各种图…

【Linux】线程id与互斥(线程三)

上一期我们进行了线程控制的了解与相关操作,但是扔就有一些问题没有解决 本章第一阶段就是解决tid的问题,第二阶段是进行模拟一个简易线程库(为了加深对于C库封装linux原生线程的理解),第三阶段就是互斥。 目录 线程id…

Simulink中三相PMSM配置及使用

1. 模块介绍 Simulink提供了专门用于电力系统仿真,包括电机的动态建模和控制的电机模型,其中,永磁同步电机模块 Permanent Magnet Synchronous Machine 支持实现三相或五相永磁同步电机模拟,电机绕组采用星型连接,在这…

10个实用的Python编程实例,助你快速掌握Python技巧!

作为一门简洁易学且强大的编程语言,Python广泛应用于各个领域。本文将向大家介绍10个实用的Python编程实例,通过详细的实例代码帮助读者快速掌握Python的基础知识和常用技巧。 1. 计算阶乘 def factorial(n):if n 0:return 1else:return n * factorial…

SysML之简单介绍

SysML简介 文章目录 SysML简介1. What is SysML?2. SysML方言与UML母语之间的关系3. SysML的9种图表类型及分配表1. SysML图分类2. 分配表1. 分配2. 分配表3. 目的 1. What is SysML? Systems Modeling Language (SysML): SysML is a general-purpose system architecture mo…

MySQL周内训参照3、简单查询与多表联合复杂查询

基础查询 1、查询用户信息,仅显示用户的姓名与手机号,用中文显示列名。中文显示姓名列与手机号列 SELECT user_id AS 编号, phone AS 电话 FROM user; 2. 根据订购表进行模糊查询,模糊查询需要可以走索引,需要给出explain语句。…

6.26.8 基于多视角深度卷积神经网络的高分辨率乳腺癌筛查

1. 介绍 1.1 乳腺癌筛查 开发了一种新的DCN,它能够处理乳房x线摄影筛查的多个视图,并利用大分辨率图像而不缩小。将这种DCN称为多视图深度卷积网络(MV-DCN)。网络学习预测放射科医生的评估,将传入的样本分类为BI-RADS 0(“不完整”)&#xf…

MATLAB2024a下的神经网络聚类工具箱聚类

1 打开神经网络聚类工具箱GUI界面 图1-1 2 导入训练数据 图2-1 导入训练集如图2-2,图2-3、图2-4所示 图2-2 图2-3 图2-4 如图2-4,确认无误点击确定 3 模型训练 如图3-1,调整验证集与测试集比例及映射大小后点击”训练“,开始训练…

手写SpringMVC之ApplicationContextListener

什么是Spring MVC? Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称( spring-webmvc ),但它通常被称为“Spring MVC”。 手写…

2024最新特种设备(锅炉作业)题库分享。

1.锅炉蒸发量大小是由(  )决定的。 A.压力的高低 B.受压元件多少 C.受热面积大小 答案:C 2.哪项不是自然循环的故障?( ) A.停滞 B.倒流 C.下降管带汽 D.上升管带汽 答案:D 3.水冷壁被现代大型锅炉广泛采用的是(  )。 A.光管水冷壁 B.膜…

锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来

环境: AP 产品型号:RG-RAP2260G 问题描述: 锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来,现网是WIFI5的,想把2260G用来升级,恢复出厂设置后,插上网线,现网找不到这个AP 解决方案: 1.通电重置AP后,连接AP WiFi进入管理页面,要求先快速配置 2.开始配置…

【电路笔记】-MOSFET放大器

MOSFET放大器 文章目录 MOSFET放大器1、概述2、电路图3、电气特性3.1 ** I D = F ( V G S ) I_D=F(V_{GS}) ID​=F(VGS​)**特性3.2 I D = F ( V D S ) I_D=F(V_{DS}) ID​=F(VDS​)特性4、MOSFET放大器5、输入和输出电压6、电压增益7、总结1、概述 在前面的文章中,我们已经…

01.Ambari自定义服务开发-项目初始化

文章目录 基础环境在PyCharm中初始化项目配置项目相关依赖在PyCharm中导入依赖 基础环境 PyCharmPython 2.7已经安装完成的Ambari服务端 在PyCharm中初始化项目 项目名称就是我们要安装服务的名称,要求名称为全大写,如:DORIS创建Python2.7…

网格处理库 pmp-library 编译及应用笔记 -- 已全部解决√

多边形网格处理库Polygon Mesh Processing Library,简称pmp-library的 编译及应用笔记 – 已全部解决√ 官网:https://www.pmp-library.org/index.html 代码:https://github.com/pmp-library/pmp-library 平台:Ubuntu1 20.04&…

知识图谱——Neo4j数据库实战

数据与代码链接见文末 1.Neo4j数据库安装 JDK 安装:https://www.oracle.com/java/technologies/javase-downloads.html Neo4j 安装:https://neo4j.com/download-center/ 配置好 JDK 和 Neo4j 的环境变量

多电商账户为什么要用指纹浏览器?

随着电子商务的蓬勃发展,越来越多的商家选择开设多店来扩大经营规模。然而多店运营也带来了一系列的挑战,其中之一就是账号安全。 1. 了解反检测浏览器和代理服务器 在我们开始讨论如何有效地使用反检测浏览器之前,我们首先需要了解这两个工…

Excel 宏录制与VBA编程 —— 12、文本字符串类型相关(转换、拆分、分割、连接、替换、查找、“Like“)

字符串分割,文末示例(文末代码3附有源码) 代码1 - 基础字符串 代码2 - 字符串拆分 代码3 - 字符串分割 Option ExplicitSub WorkbooksClear()Dim DataRange As RangeSet DataRange Range("C2:E12")DataRange.Clear End SubSub Wo…