python 怎么让列表里的数从大到小排列,python中如何给列表排序
这篇文章主要介绍了Python中对列表排序实例,需要的朋友可以参考下
很多时候,我们需要对List进行排序,Python提供了两个方法,对给定的List L进行排序:
方法1.用List的成员函数sort进行排序
方法2.用built-in函数sorted进行排序(从2.4开始)
这两种方法使用起来差不多,以第一种为例进行讲解:
从Python2.4开始,sort方法有了三个可选的参数,Python Library Reference里是这样描述的
实例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',2),('a',1),('c',3),('d',4)]
>>>L.sort(cmp=lambda x,y:cmp(x[1],y[1]))
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
实例4:>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>L.sort(key=lambda x:x[1])
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
实例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)]
python 怎么让列表里的数从大到小排列,python中如何给列表排序相关推荐
- python 怎么让列表里的数从大到小排列_Python实现把列表里的数字按从小到大的顺序排列...
一.自己造轮子 第一种方式的思路: 拿出列表里的第0个元素,把它赋给一个叫做"最小值"的变量,然后用这个变量去跟后面的每个数字一一对比,如果碰到比它小的,就把那个新发现的小数字赋给 ...
- 【python】输出30以内的质数并输出、统计个数、以及从大到小排列。
[python]输出30以内的质数并输出.统计个数.以及从大到小排列. 创建一个空列表 first_list = [] 寻找30以内的质数 for i in range(2, 30): for j i ...
- 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...
一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...
- 真心话大冒险小程序python实现
** 真心话大冒险小程序python实现 想必各位学习了Python基础的同学,都想做一个小程序来玩玩吧,如何通过Python来实现小程序的制作呢? 首先我们要先了解 tkinter 拓展库 tkin ...
- c语言自动输入0到1000,c语言实现输入一组数自动从大到小排列
#include main() { int x; printf("请输入要排序数字个数:"); scanf("%d",&x); int i,j,k,a, ...
- php 从大到小显示,vue.js,javascript_Vue 在列表渲染的时候,能排序显示么。 比如按价格从大到小排序,vue.js,javascript - phpStudy...
Vue 在列表渲染的时候,能排序显示么. 比如按价格从大到小排序 // json { "data": [ { "name": "山鹰登山社" ...
- python如何创建函数对列表里的元素进行分类_zip()函数如何在python中遍历多个列表?...
在对列表的元素进行找寻时,会频繁的说到遍历的理念.对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环.本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历.下面我们就python ...
- python如何将数组里的数提取出来_python [:3] 实现提取数组中的数
搜索答案搜索不到,自己试了一把. 首先生成一维数组 a =np.array([1,2,3,4,5,6,7,8,9]) >>> print a [1 2 3 4 5 6 7 8 9] ...
- python的return语句求两数之和_程序题(python解)
PyCharm整理代码:Ctrl+Alt+l list行数:len(list) list列数:len(list[1]) 笔试常使用到的功能: 1.单独取出一长串字符中每个单独的字符: 输入'abcd' ...
最新文章
- SpringBoot自定义错误页面
- python3.8 新特性
- CentOS通过日志反查入侵(转)
- SDE+ORACLE优化配置
- N划分成若干个奇正整数之和的分法有多少种---动态规划
- [转载] python string 字符串转换为字典 dict
- 关于xcode中的代码比较工具
- Ubuntu配置Wine教程
- deeping操作系统修改已挂载卷名称
- 【最全攻略】拼多多商家自研系统接入流程
- 电子通讯录(自存储)
- 扫雷小游戏 纯C语言/C++开发分享成果和记录
- JZOJ4809. 【NOIP2016提高A组五校联考1】挖金矿
- Android开发_ARN是什么
- 解释相机中的弥散现象
- 电子学报 计算机科学,电子学报
- 计算机网络之面试常考--整理来自牛客网
- 一张图说明CDN网络的原理
- 纳税服务系统【系统、子系统首页】
- 关于举办第十七届全国大学生智能汽车竞赛的通知
热门文章
- 微信消息防撤回,这款开源神器文字、语音、图片都支持撤回查看!
- 数据库三大范式(通俗理解)
- 全面且简单明了的蓝牙服务及UUID介绍
- 一些有用的资源分享(工具+电子书+GitHub最全的前端资源汇总仓库(包括前端学习、开发资源、求职面试等))
- 一、快速上手SpringBoot
- 【Prompt Engineering 教程:写 Prompt 的艺术】1、什么是 Prompt Engineering?
- python猜数字小游戏你真的会吗?
- 9E技术员家园注册码;a266
- Excel中单元格格式对应POI 单元格类型 CellType
- cf16-1代码什么意思_CF中的代码重用-第一部分