list排序方法python_python将list排序的方法有哪些
python将list排序的方法有哪些
发布时间:2020-08-10 15:28:20
来源:亿速云
阅读:79
作者:小新
小编给大家分享一下python将list排序的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
python提供了对list排序的两种方法
1、使用list内建函数sort排序list.sort(key=None,reverse=False)
eg:In [57]: l=[27,47,3,42,19,9]
In [58]: l.sort()
In [59]: l
Out[59]: [3, 9, 19, 27, 42, 47]
上面这种是直接对l列表里面的元素排序,sort()函数还提供了一个key参数,这个参数的值是一个函数,这个函数只能有一个返回值,且返回值用来进行比较。 这个技术是快速的因为key指定的函数将准确地对每个元素调用。In [53]: L = [('b',6),('a',1),('c',3),('d',4)]
In [54]: L.sort(key=lambda x:x[1])
In [56]: L
Out[56]: [('a', 1), ('c', 3), ('d', 4), ('b', 6)]
上面那段话,再结合这个例子,我是这样理解的:匿名函数lambda x:x[1]相当于:def f(x):
return x[1]
key参数接受列表L里的每个元素的第二个参数,根据第二个参数的排序,确定整体的排序。也就是说,设置了key参数后,key接收的值代表了整体,排序的标准就变成了对key所接收的值进行排序。
2、使用python内置函数sorted排序
sorted方法和sort方法很相似,不同的是,sorted不改变原来的列表,并返回一个排好序的列表。而list.sort()是改变了原有的列表。还有就是,list.sort()只能对列表排序,而sorted()可以对其他数据结构排序。In [62]: l=[27,47,3,42,19,9]
In [63]: sorted(l)
Out[63]: [3, 9, 19, 27, 42, 47]
sorted方法同样可以用key参数,用法也是一样的。In [68]: data=[{'name':'Abbie','score':99},{'name':'Ivy','score':80}]
In [69]: sorted(data,key=lambda x:x['score'])
Out[69]: [{'name': 'Ivy', 'score': 80}, {'name': 'Abbie', 'score': 99}]
以上是python将list排序的方法有哪些的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
list排序方法python_python将list排序的方法有哪些相关推荐
- list排序方法python_python list 排序的两种方法及实例讲解
对 list 进行排序,Python 提供了两个方法: 方法1. 用 list 的内建函数 list.sort 进行排序 list.sort(func=None, key=None, reverse= ...
- 使用定制的NSDictionary的方法,对NSArray进行排序(附:数组排序两种常见方法)
NSArray中存放的是NSDictionary,可以使用策略的方法对NSDictionary进行定制,增加比较的方法.然后调用NSArray的sortUsingSelector方法对数组进行排序,这 ...
- C++ 十大经典排序算法原理及模板之STL方法实现以及稳定性分析
写在前面: 1.本文中默认排序为升序,降序的原理类似. 2.如果程序直接复制到vs出现无法识别标记的问题,解决方法在这:vs无法识别标记的解决方法 3.本文的算法都是自己用stl实现的,疏漏之处还请指 ...
- js排序的时间复杂度_经典排序方法的python实现和复杂度分析
1.冒泡排序: 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数 ...
- 【数据结构】排序相关题目及各种排序方法的总结
[数据结构之排序] 常用的排序方法有:直接插入排序.希尔排序.冒泡排序.快速排序.简单选择排序.树形选择排序.堆排序.归并排序.基数排序 提示:如有不理解的知识点,请看B站最好的数据结构老师王卓老师的 ...
- Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序
*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序.这个方法首先按行排序,然后按列排序 题目 题目描述 破题 代码 运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个 ...
- Java黑皮书课后题第7章:**7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串。编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串
**7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串.编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串 题目 题目描述 破题 代码 运行实例 题目 题目描 ...
- Java黑皮书课后题第7章:**7.18(冒泡排序)使用冒泡排序算法编写一个排序方法。编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字
**7.18(冒泡排序)使用冒泡排序算法编写一个排序方法.编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字 题目 题目描述 冒泡排序法 / 下沉排序法 破题 代码 运 ...
- python 类属性排序_Python实现多属性排序的方法
多属性排序: 把需要排序的属性拿出来作为一个 tuple,主要的放前面,次要的放后面. 假如某对象有n个属性,那么先按某规则对属性a进行排序,在属性a相等的情况下再按某规则对属性b进行排序,以此类推. ...
最新文章
- Nginx+Keepalived+Tomcat之动静分离的web集群
- 一文读懂分库分表的技术演进(最佳实践)
- Spring JPA使用CriteriaBuilder动态构造查询
- 搭建FastDFS分布式文件方式一(Docker版本)
- lt、le、eq、ne、ge、gt的含义
- mysql的natural join_MySQL基础之Natural Join用法
- WiFi网络编程(带OTA功能)
- 第七节:利用CancellationTokenSource实现任务取消和利用CancellationToken类检测取消异常。
- Beam概念学习系列之Pipeline 数据处理流水线
- java web windows_WinSW让你的JavaWEB程序作为Windows服务启动!
- 椭圆极点极线性质_笔记:关于极点极线的一些思考
- 计算时间间隔分钟_九个小技巧,玩转Excel的时间计算
- Ingenuous Cubrency UVA 11137
- 论文阅读笔记|A view-free image stitching network
- 关于SOTIF预期功能安全的理解
- iOS 更改webView文字颜色丶文字大小丶背景色的方法
- 利用Python在网上接单,兼职也能月薪过万,真的假的?
- 特征锦囊:怎么找出数据集中有数据倾斜的特征?
- 爲什麽一个标准的反相器中PMOS管的寬長比要比N管大
- abp过滤规则android,撰写 Adblock Plus 过滤规则
热门文章
- ORA-28000: the account is locked-的解决办法
- Sql语句里的递归查询
- sql server 2008学习6 更复杂的查询
- Android关掉多个activity,Android应用开发之Android Activity栈管理 制定关闭某一个Activity,关闭所有Activit...
- 将JSON数据转换成JAVA的实体类
- MySQL锁的用法之行级锁
- 对一千万条数据进行排序---编程珠玑第二版 第一章
- Git .gitignore文件忽略(自己做过测试了)
- C的动态优化 约瑟夫环
- db2 oracle mysql sqlserver_mysql、sqlserver、db2、oracle、hsql数据库获取数据库连接方法及分页函数...