关于sorted:
help里给的解释

>>> help(sorted)
Help on built-in function sorted in module __builtin__:sorted(...)sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

一般,sorted 对字符串排序,ASCII比较大小的时候,是比较两个数中的第一个字符
ASCII码的大小规则,0-9<A-Z<a-z:  
由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面
忽略大小写来比较两个字符串,实际上就是先把字符串都变成大写(或者都变成小写),再比较。
这样,我们给sorted传入key函数,即可实现忽略大小写的排序:
#Python lower() 方法转换字符串中所有大写字符为小写#这一步把大写变小写,再sorted
>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower) ['about', 'bob', 'Credit', 'Zoo']

Make a Test:
 from operator import itemgetter students = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]print(sorted(students,key=itemgetter(0)))#key值设置成第一个域来排序print(sorted(students, key=lambda t: t[1]))#key值设置称t[1],第二个域来排序print(sorted(students, key=lambda t: t[0],reverse=True))#key值设置成t[0],第一个域来排序,注意这有个反转,反转就是把顺序倒过来   print(sorted(students, key=itemgetter(1), reverse=True))

输出结果:

>>>[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
>>>[('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
>>>[('Lisa', 88), ('Bob', 75), ('Bart', 66), ('Adam', 92)]
>>>[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]

>>> help(sorted)
Help on built-in function sorted in module __builtin__:sorted(...)sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

其中key的参数为一个函数或者lambda函数,如下例子对lamdba的解释,我对lamdba的理解就是这东西是自定义函数

>>> r=lambda x,y:x*y   #实现x*y,
>>> r(2,3)
6

itemgetter是从operator里面倒进来的,可以用来当key的参数
如果要比较一个班学生的成绩,但是同时有B同学,一个人得12分,一个人10分,那就来上两个域进行排序。
如下:
根据第二个域和第三个域进行排序
#key值设置成第一个域来排序
a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]print sorted(a, key=itemgetter(1,2))
>>>[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]但是姓名没有排序,所以给第一个域来一波操作
 print  sorted(a, key=itemgetter(0,1,2))
>>>[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

转载于:https://www.cnblogs.com/Harryzhou/p/10512878.html

python关于sorted里面key,reverse以及lamdba,operator这几个鸟人相关推荐

  1. Python 内建函数 - sorted(iterable[, key][, reverse])

    Manual 直译 实例 基本排序 key函数 operator模块函数 升序和降序 排序稳定性和复杂排序 其他 拓展阅读 Manual Return a new sorted list from t ...

  2. sorted(iterable[, key][, reverse])

    依据可迭代对象(iterable)中的元素返回一个新的排好序的列表. 参数 描述 iterable 指可迭代对象,比如字典(dict) key 指示一个带有一个参数的函数,它用于从列表的每个元素中提取 ...

  3. python的sorted函数对字典按key排序和按value排序

    这篇文章是转载的,加入自己的一些消化和理解 1.sorted函数按key值对字典排序 先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有it ...

  4. python中sorted函数逆序_Python中sorted函数的用法(转)

    [Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返 ...

  5. Python中sorted函数的用法

    我们需要对List.Dict进行排序,Python提供了两个方法,对给定的List L进行排序. 方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本 方法2.用built-in函 ...

  6. python中sorted()函数的用法

    一. 定义 sorted()函数对所有可迭代的对象进行排序操作 二. 语法 sorted(iterable [, key[, reverse]]]) iterable:可迭代对象 key:主要是用来进 ...

  7. python中sorted的用法append_Python中高阶函数sorted()用法

    在Python中,有内置的排序方法:sorted(iterable, key, reverse). Sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序.key指定的函数 ...

  8. python中sorted和.sorted 、reversed和reverse的使用

    #encoding = utf-8 list = [1,8,3,6] print(list.sort()) #Noneprint(list)#[1,3,6,8]print(sorted(list))# ...

  9. python sort函数key_Python:s.sort([cmp[, key[, reverse]]])

    展开全部 s.sort([cmp[, key[, reverse]]]) 意思是sort方法接受三个参636f707932313133353236313431303231363533313333326 ...

最新文章

  1. pyhton 中的字符串切片问题
  2. ansible 发部署nginx以及更新、回滚
  3. centos光盘修复引导_CentOS系统启动/boot/initramfs修复(实验)
  4. 个人信息保护与大数据应用如何共存
  5. pandas统计样本分位数
  6. qml实现雪花飘落,快来给你的暑假降降温吧
  7. Matlab学习随笔 ——bin文件读写
  8. java调用jrtplib,jrtplib的文档翻译
  9. 继续教育自动听课软件_2017继续教育挂机软件下载
  10. 南大lamda实验室失败面经分享
  11. 共模电感适用的频率_共模电感使用特性及选材
  12. 个人档案php源码,php人事档案管理系统
  13. 六相PMSM电驱平台及电机相序、参数测试流程
  14. 我辞职了准备系统学习新知识和技提升自己
  15. Xcode免证书导出ipa文件
  16. 阿松嘚嘚嘚-数据库篇2-完美范式不完美
  17. gmail+mtalk配合打免费网络电话。
  18. 中兴视讯服务器 广州,中兴通讯推出全新高清视讯解决方案
  19. 2016版excel_excel中yd是什么意思
  20. 计蒜客 T1817 分解质因数(数论)

热门文章

  1. matlab保存数据用什么指令_Matlab数据处理——数据的保存和读取方法操作
  2. java数组线性查找_数组查找: 线性查找与二分查找
  3. Java中的ConcurrentHashMap
  4. 如何使用Python numpy.where()方法
  5. primefaces教程_Primefaces,带有JPA的Spring 4(Hibernate 4 / EclipseLink)示例教程
  6. python vars()_Python vars()
  7. AdvancedInstaller.com 命令行参数
  8. java新职篇:面向对象之抽象
  9. python制作 whl 源文件,并制作本地pip源
  10. display:none与visible:hidden的区别 ?