#按名字排序
l2= [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):
return t[0]
l2=sorted(l2,key=by_name)
print(l2)
#再按成绩从高到低排序
def by_score(t):
return 100-t[1]
l2=sorted(l2,key=by_score)
print(l2)

题目:用一组tuple表示学生名字和成绩,用sorted()对上述列表分别按名字和成绩高低排序。

知识点:

1、Python内置的sorted()函数可以对list进行排序,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序,这里我之前不理解的一点,key函数作用于每一个元素上,根据返回的结果来排序,但排序的对象仍然是原list,key函数相当于对每一个元素作了一次自定义的背景调查。

2、默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',大写字母Z会排在小写字母a的前面。

3、要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True,默认是升序(reverse=False),降序排列用(reverse=True)

【Python实践-10】用sorted()对列表排序的更多相关文章

  1. python实践项目三:将列表添加到字典

    1.创建一个字典,其中键是字符串,描述一个物品,值是一个整型值,说明有多少该物品.例如,字典值{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, ...

  2. python3_列表排序简介

    说明:以下是以整数排列为例,其它数据类型读者自行思考即可知. 1.使用方法sort()对列表排序 使用格式:(注:说到方法,在列表中都是列表名.方法名()的使用格式,之后不在赘述.) 列表名.sort ...

  3. Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  4. python 列表排序方法reverse、sort、sorted基础篇

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  5. python列表排序方法reverse、sort、sorted

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  6. Python 列表排序方法reverse、sort、sorted操作方法

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  7. Python列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  8. python list列表sort、sorted、reverse排序

    列表排序:sort是修改原列表,sorted提供原列表的一个有序副本 li=[2,1,4,5,0]li.sort() #默认从小到大print li结果:[0, 1, 2, 4, 5] li=[2,1 ...

  9. Python的列表排序

    Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...

随机推荐

  1. IIS重新注册

    打开程序-运行-cmd:输入一下命令重新注册IISC:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

  2. Python unittest 基本框架解析(2)

    下面例子,是一般测试框架的基本结构 框架知识点包括:实例化被测试模块类.装载测试用例.测试套件打包.保存测试输出结果.生成测试报告等 测试情况包括   :跳过某个case.执行成功.执行失败 #待测试 ...

  3. Windows中句柄和ID的区别

    写在前面:这里介绍句柄 对于“句柄”,在下一直停留在一知半解的认识层面,近日在下学习Windows编程,决定趁此机会将句柄彻底搞清楚.查阅了一些网络上的资料,发现网络上的讲解大概可以分为两类:一种是以 ...

  4. 443 String Compression 压缩字符串

    给定一组字符,使用原地算法将其压缩.压缩后的长度必须始终小于或等于原数组长度.数组的每个元素应该是长度为1 的字符(不是 int 整数类型).在完成原地修改输入数组后,返回数组的新长度.进阶:你能否仅 ...

  5. 202 Happy Number 快乐数

    写一个算法来判断一个数是不是“快乐数”.一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或是无限循环但始终变不到 1.如 ...

  6. cloudera-scm-server启动出现Error creating bean with name 'entityManagerFactoryBean'与HHH010003: JDBC Driver class not found: com.mysql.jdbc.Driver错误解决办法(图文详解)

    不多说,直接上干货! 问题详情 -- ::, INFO main:com.cloudera.server.cmf.Main: Starting SCM Server. JVM Args: [-Dlog ...

  7. Stamus Networks的产品SELKS(Suricata IDPS、Elasticsearch 、Logstash 、Kibana 和 Scirius )的下载和安装(带桌面版和不带桌面版)(图文详解)

    不多说,直接上干货!  SELKS是什么? SELKS 是Stamus Networks的产品,它是基于Debian的自启动运行发行,面向网络安全管理.它基于自己的图形规则管理器提供一套完整的.易于使 ...

  8. Android开发学习——高德地图的实现

    1.首先做好下边的准备: 1.1  http://lbs.amap.com/   注册账号 1.2  下载 定位sdk 和 地图sdk 下载后是这样的 1.3  对下载的进行解压 将他们加入 中,对每 ...

  9. laravel 淘宝 NPM 镜像

    淘宝 NPM 镜像:http://npm.taobao.org/ 这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步. 当前 ...

  10. JSP(Java Servlet Page)

    一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...