python List排序问题

fastjson1.2.83反序列化漏洞 【代码】fastjson1.2.83反序列化漏洞。 阅读详情

原文地址:http://nemogu.iteye.com/blog/1493641

对List进行排序,Python提供了两个方法

 

---sort----
方法1.用List的内建函数list.sort进行排序

list.sort(func=None, key=None, reverse=False) 
方法2.用序列类型函数sorted(list)进行排序

sorted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。

list.sort() 不会返回对象,改变原有的list。

实例1:
>>>L = [2,3,1,4]
>>>L.sort()
>>>L
>>>[1,2,3,4]
实例2:
>>>L = [2,3,1,4]
>>>L.sort(reverse=True)
>>>L
>>>[4,3,2,1]
实例3:对第二个关键字排序 
>>>L = [('b',6),('a',1),('c',3),('d',4)]
>>>L.sort(lambda x,y:cmp(x[1],y[1])) 
>>>L
>>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
实例4: 对第二个关键字排序 
>>>L = [('b',6),('a',1),('c',3),('d',4)]
>>>L.sort(key=lambda x:x[1]) 
>>>L
>>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
实例5: 对第二个关键字排序 
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>import operator
>>>L.sort(key=operator.itemgetter(1)) 
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
实例6:(DSU方法:Decorate-Sort-Undercorate)
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort
>>>A.sort()
>>>L = [s[2] for s in A]
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
以上给出了6中对List排序的方法,其中实例3.4.5.6能起到对以List item中的某一项
为比较关键字进行排序.
效率比较:
cmp < DSU < key
通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当 
多关键字比较排序:
实例7:
>>>L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=lambda x:x[1])
>>> L
>>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)]
我们看到,此时排序过的L是仅仅按照第二个关键字来排的,
如果我们想用第二个关键字排过序后再用第一个关键字进行排序呢?有两种方法 
实例8:
>>> L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=lambda x:(x[1],x[0]))
>>> L
>>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]
实例9:
>>> L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=operator.itemgetter(1,0))
>>> L
>>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]
为什么实例8能够工作呢?原因在于tuple是的比较从左到右比较的,比较完第一个,如果
相等,比较第二个


AD9613操作控制 输出250M时钟给AD9613,过FPGA ILA逻辑分析仪将AD9613采集的两个通道ADC数据250M数据显示出来。其中AD9613输出的是LVDS数据,通过select IO核转为并行数据。 一,搜索IP核:selectIO interface wizad ,并双击配置 配置为input,DDR模式,数据位宽为12bit,IO类型为差分,这里配置的是12对数据差分对。然后配置外部差分时钟。 将tap setting 设置为13,将时钟的边沿对准数据的中间,以免数据出错 二, 阅读详情

相关推荐

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 489

java中List的排序问题

在完成软件构造lab3时,实现MultiInterSet类需要对每一个标签对应的时间段列表进行从小到大的排序: 即已有一个Interval类,每一个Interval对应一个时间段[a, b]。在MultiIntervalSet类中声明一个时间段的列表List< Interval > l = new ArrayList<>();然后对 l 中的每个时间段,按照其起始时间的升序进行排列,如排序前该列表为 [20, 35], [10, 25],[0, 30],排序后应为 [0, 30],

qq_47582681的博客 446

Linux内核4.14版本——drm框架分析(1)——drm简介

drm框架分析

yangguoyu8023的博客 1万+

list通过过stream使用sort进行升降排序

基于jdk1.8 .stream().sorted.....collect():返回新的有序集合,原集合顺序不变 .sort...:返回void,原集合顺序变为有序 Subject subject1 = new Subject("语文", 91.0); Subject subject2 = new Subject("语文", 94.0); Subject ...

Osborn的博客 9606

STM32H750xx【QSPI】轮询方式读写GD25Q64E

本文详细介绍了GD25Q64E其特性、引脚定义及功能说明,重点阐述了在STM32H750平台上通过CubeMX配置QuadSPI接口的步骤,包括时钟设置、参数优化等。文章提供了完整的BSP驱动开发流程,涵盖写使能、四线模式使能、ID读取、解除保护、扇区擦除、整片擦除、页编程和数据读取等关键功能实现,并通过读写测试验证了DummyCycles参数对数据准确性的影响。

honmy18的博客 1422

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

List 将重复数据排到一起,不按hashCode排序

List 将重复数据排到一起,按原有List默认排序,不按hashCode排序 public static void main(String[] args) { List<Integer> list = Arrays.asList(2, 3, 4, 1, 1, 2, 1); Map<Integer, List<Integer>> map = list.stream().collect(Collectors.groupingBy(Fu

追逐丿的专栏 491

OpenOCD入门到精通:第 1 章 OpenOCD 概述

OpenOCD是一款开源的片上调试工具,支持60+调试适配器和8大处理器架构。它提供三大核心功能:片上调试、在系统编程和边界扫描测试。作为嵌入式开发工具链的中间桥梁,OpenOCD连接上层IDE/GDB与底层硬件,采用分层架构设计实现硬件兼容性。其配置基于Tcl脚本语言,支持网络服务接口,广泛应用于ARM、RISC-V等芯片的调试与烧录场景。

从事嵌入式linux android驱动开发,拥有全栈能力 1401

list实现根据某一个字段排序

对于Java针对于数组和List的排序的实现都已经封装好了方法,我们只需要调用方法就可以。 针对于数组只需要使用Arrays.sort就可以实现,本文主要讨论在list的情况下就行排序,实际开发中可能需要把list的试题集合根据某一个字段排序,下面就来介绍list的排序。 1.要想实现排序首先要确保list里面的元素是相同数据类型。 以下演示有一个ExamStudentAddress实体,按照实体...

weixin_43564923的博客 3万+

024、反激变换器的短路保护设计

本文详细探讨了反激变换器短路保护的设计要点与实践经验。作者通过实际案例分析了短路时反激拓扑的电流特性,指出初级峰值电流限制是最基础的保护手段,但需配合打嗝模式使用。文章重点剖析了打嗝模式设计的三个关键陷阱:频率设定、退出条件和软启动衔接。同时强调次级侧辅助保护、变压器参数优化、环路响应协调的重要性,并比较了自恢复与锁死方案的适用场景。最后提出实测验证的四个关键点和设计经验:不盲信芯片手册、保护电路独立设计、充分留有余量、进行破坏性测试。全文以工程实践为导向,为反激电源的可靠短路保护提供了系统性解决方案。

Jack010169的博客 241

QMK键盘固件开发零基础教程(2025全新重制版)

《QMK键盘固件开发零基础教程(2025全新重制版)》是一套专为键盘爱好者和开发者设计的全面教程,旨在帮助用户从零基础快速掌握最新的QMK固件开发技术。教程基于2025年最新的QMK版本(0.19.8+),解决了旧版教程中的诸多问题,如概念不清、步骤缺失和代码过时等。新版教程提供了详细的图解、完整的项目源码以及从环境配置到高级功能开发的全流程指导。此外,教程还涵盖了2024年QMK生态的重大变革,包括键码系统的重构、编译工具链的更新以及Config文件格式的改变等。付费版教程额外提供独家内容,如新特性解析、

Despacito0o的博客 1121

python list排序(正倒)以及获取重复数据

mylist = [2,2,2,2,5,5,7,2,2,3,3,3,3] #<class 'list'>: [2, 2, 2, 2, 5, 5, 7, 2, 2, 3, 3, 3, 3] mylist.sort() # <class 'list'>: [2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7] mylist...

weixin_34290352的博客 253

即梦(Dreamina)技术浅析(六):多模态生成模型

多模态生成模型的目标是结合不同模态的数据(如文本和图像),生成新的视觉内容。其核心思想是利用文本描述引导图像或视频的生成过程,使得生成结果能够准确反映用户的意图。

m0_75253143的博客 1337

python list 排序问题

对List进行排序,Python提供了两个方法 ---sort---- 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False)  方法2.用序列类型函数sorted(list)进行排序 >>> list = [2,5,1] >>> list [2, 5, 1] >>> so

justforfun 7717

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python中list排序问题

用python实现list的排序方法 1、list列表排序 方法1.用list的内建函数list.sort进行排序 list.sort(func=None,key=None,reverse=False) 方法2.用序列类型函数sorted(list)进行排序 &gt;&gt;&gt;list = [5,3,9,1] &gt;&gt;&gt;list [5,3,9,1] &gt;&gt;...

tituszm 8508

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python List 排序问题

list.sort()方法. List2=[3,7,8,6] #由低到高 List2.sort() List2 Out[17]: [3, 6, 7, 8] #由高到低 List2.sort(reverse=True) List2 Out[19]: [8, 7, 6, 3] 二维列表指定列排序: List1=[[1,3.9],[0,7.6],[3,5.4]] 默认第一列: ...

weixin_39405468的博客 210

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

解决[PYTHON]:list转换为set的时候会自动排序的问题

product_names = Report_Details.objects.all().values('Product__productname').order_by('Product') tasknames = Report_Details.objects.all().values('taskname').order_by('Product') products = Report_Details.objects.all().values('Product').order_by(...

Allen . Liu 3741

python 中的list.sort和 sorted排序问题

#列表中的字典排序 data=[{'a':1,'b':2},{'a':10,'b':2},{'a':1.6,'b':2}] data1=sorted(data, key=lambda d: d['a'], reverse=True) print(data) print(data1) #列表中的对象排序 class People: age=0 gender='male' d...

yournevermore的博客 395

python将list转化为set_解决[PYTHON]:list转换为set的时候会自动排序的问题

product_names = Report_Details.objects.all().values('Product__productname').order_by('Product')tasknames = Report_Details.objects.all().values('taskname').order_by('Product')products = Report_Details....

weixin_39935654的博客 1251

python-list列表排序问题 sort 与 sorted

sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 sorted(listA, key=lambda x:x[1]) 返回一个新的列表 list.sort(func=None, key=None, reverse=False) 在原有的列表上修改 sort app_list.

qq_38959934的博客 404

Python os.list(para)排序问题

os.list()函数通常用于获取某一路径下的所有文件列表,实质上返回的是一个list,我们会发现,list里文件的顺序与windows文件系统中排列顺序不一致,这种时候需要对lsit按照我们的需求进行排序。 按照数字顺序排序(1,2,3,4,5....): subfile_list = os.listdir(file_path) subfile_list.sort(key=lam...

PMPWDF的博客 911

python list map成员排序_python 3.6 list(map())问题

map(lambda x: [ret_ttest.loc[x][0], ret_ttest.loc[x][1]], ret_ttest.index)结果:list(map(lambda x: [ret_ttest.loc[x][0], ret_ttest.loc[x][1]], ret_ttest.index))报错:----------------------------------------...

weixin_35172715的博客 278

python coding bat list 2_python实战系列之ip地址排序问题(二)

1. 背景说明从openstack的nova list中获取了虚拟机的ip地址,但这些ip都没有排序和分组,为了进一步增强可读性,对ip地址执行排序操作,在shell下,可以通过sort命令,执行排序操作,具体操作如下:[root@controller~]#catip.txt|sort-t"."-k1,1n-k2,2n-k3,3n-k4,4n10.1.104.7510.1.1...

weixin_39957934的博客 263

python list map成员排序_[求助] Java8 Stream中 List<Map<String,Object>> 多字段组合排序问题...

题主既然按照说是Java8的方式来排序,那就给一个按照java8的方式进行排序的代码吧,大体如下public class Test {public static void main(String[] args) {Map map = new HashMap();map.put("name", "ZK");map.put("age", 13);Map map2 = new HashMap();map...

weixin_39900582的博客 766

python 数字大小排序_python list字符按数字大小排序

python list字符按数字大小排序在把list写到csv过程中,遇到一个list的排序问题,list中存放的是数字字符,需要按数字大小来排序测试源码testList = ['1', '5', '2', '10', '50', '21', '31', '3', '7']print('testList={}'.format(testList))normalSortList = testList[...

weixin_39948309的博客 1978

python打乱列表的方法解决问题_Python 如何随机打乱列表(List)排序

场景:现在有一个list:[1,2,3,4,5,6],我需要把这个list在输出的时候,是以一种随机打乱的形式输出。专业点的术语:将一个容器中的数据每次随机逐个遍历一遍。注意:不是生成一个随机的list集。环境:Python 3.6解决方案:方案一:有人可能会通过Random内置函数,来间接实现想要的结果。但是这种方式,太原始,也不够优雅,而且有种重复造轮子的嫌疑。这里我就不贴我自己通过rando...

weixin_39637397的博客 198
上一篇: PDB调试python
下一篇: 粒子群算法认识
WayToAccept
博客等级 码龄14年 21粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值