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

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

list.sort(func=None, key=None, reverse=False)

Python实例:

方法2. 用序列类型函数 sorted(list) 进行排序

(从 python 2.4 开始)

Python实例:

两种方法的区别:

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

list.sort() 没有返回值,直接改变原有的 list。

其他sort的实例:

实例1:正向排序

实例2:反向排序

实例3:对第二个关键字排序

实例4:对第二个关键字排序

实例5:对第二个关键字排序

实例6:DSU方法(Decorate-Sort-Undercorate)

以上给出了6种对 list 排序的方法,其中实例3、4、5、6能够以 list 中 item 的某一项作为比较关键字进行排序。

效率比较:

cmp < DSU < key

通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当。

多关键字比较排序:

实例7:

我们看到,此时排序过的 L 是仅仅按照第二个关键字来排的。

如果我们想用第二个关键字排过序后再用第一个关键字进行排序呢?

两种方法:

实例8:

实例9:

为什么实例8能够工作呢?原因在于 tuple 的比较是从左到右进行的,比较完第一项,如果相等,再比较第二项。

转自:http://blog.chinaunix.net/uid-20775448-id-4222915.html

近期文章推荐阅读:

Crossin的编程教室

微信ID:crossincode

论坛:http://bbs.crossincode.com

QQ群:568430889

点击左下角“阅读原文”,查看更多学习资源

list排序方法python_python list 排序的两种方法及实例讲解相关推荐

  1. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  2. 第四周作业——统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)

    统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现) 方法一:grep实现 grep -o "\<[[:alpha:]] ...

  3. mysql创建库几种方法_MySQL创建数据库的两种方法

    本文为大家分享了两种mysql创建数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 mysql 数据库. 所以 ...

  4. python分析数据差异的方法_用Python的两种方法进行方差分析

    在进行数据分析时,我们往往会遇到要对某个变量的影响因素进行分析的情况,而影响一事物的因素往往是很多的.比如在化工生产中,有温度.压力.剂量.反应时间等因素.每一因素的改变都有可能影响产品的数量和质量. ...

  5. python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介:  要把一...

    python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...

  6. MySQL中删除数据的两种方法_MySQL删除数据库的两种方法

    本文为大家分享了两种MySQL删除数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 删除数据库使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MyS ...

  7. java读取图片缩略方法_java 图片缩略图的两种方法

    最近网上看到两种不同的java图片缩略图的绘制方案 第一种,使用Graphics().drawImage按照一定的比例重新绘制图像. Java代码 package com.image.suoluetu ...

  8. vue项目中 img标签加载失败方法,onerror事件的两种方法

    vue项目中 img标签加载失败方法 ?css 第一种方法 第二种方法 本人写的第一篇文章,希望对你有帮助 第一种方法 < img src="123" :οnerrοr=&q ...

  9. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法

    1.打开数据文件 1.1 直接打开文件 PATHNAME = 'C:\Users\s55\Desktop\dat'; FILENAME = '\data_1.dat'; str0=strcat(PAT ...

  10. ArrayList 遍历ArrayList的3种方法,和删除的两种方法

    1.使用Iterator 遍历HashMap EntrySet 2.使用Iterator 遍历HashMap KeySet 3.使用For-each EntrySet 循环迭代 HashMap imp ...

最新文章

  1. 机器学习竞赛必备基础知识_Word2Vec
  2. w3wp.exe内存占用过高(网站打不开,应用程序池回收就正常)
  3. MyBatis 源码分析系列文章合集
  4. Html 教程 (4) <head>
  5. 如何存储 Git 大文件?
  6. 进程间通信之分别用共享内存和信号量实现卖票
  7. C++Builder STL 泛型
  8. DOS打印目录树到文件
  9. windows安装grafana
  10. 对网站的文件和资源进行优化、前端开发优化
  11. 中国电网计算机面试题目,国家电网面试经验
  12. 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
  13. 苹果NFC功能以及Apple Pay的初探
  14. 快用苹果助手安装失败_穿越火线辅助腾讯手游助手常见问题汇总
  15. 如何看懂公司的财务报表(1)
  16. 计算机更改后怎么找不到桌面文件,电脑桌面的文件不见了怎么找回
  17. 分形植物的c语言源代码,C语言源代码实例.rar
  18. NS2:添加一个新的流量发生器(poisson分布)
  19. 京东阿里都已入局 顺丰在即时配送的胜算有多大?
  20. 时间的单位 频率单位 换算

热门文章

  1. 云计算成IT反“腐”后盾-《中国电子报》2013年5月特刊
  2. Silverlight 5 Beta 新特性预览
  3. 《唐山大地震》高清下载,迅雷下载,在线观看!
  4. 实事求实来看综合布线网络
  5. T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...
  6. TensorFlow——多维矩阵的转置(transpose)
  7. matlab simulink 电气连接
  8. 正则表达式grep, egrep, fgrep
  9. Linux中 set、env、declare、export显示shell变量的区别
  10. C语言写CGI程序【转】