可以结合Python内置函数sorted()从入门到精通来看一些稍微基础的排序用法。

>>> from operator import itemgetter

>>> gameresult = [['Bob', 95.0, 'A'],

['Alan', 86.0, 'C'],

['Mandy', 83.5, 'A'],

['Rob', 89.3, 'E']]

#按子列表第3个元素进行升序排序

>>> sorted(gameresult, key=itemgetter(2))

[['Bob', 95.0, 'A'], ['Mandy', 83.5, 'A'], ['Alan', 86.0, 'C'], ['Rob', 89.3, 'E']]

#按第3个元素升序,然后按第1个升序

>>> sorted(gameresult, key=itemgetter(2, 0))

[['Bob', 95.0, 'A'], ['Mandy', 83.5, 'A'], ['Alan', 86.0, 'C'], ['Rob', 89.3, 'E']]

>>> sorted(gameresult, key=itemgetter(2, 0), reverse=True)

[['Rob', 89.3, 'E'], ['Alan', 86.0, 'C'], ['Mandy', 83.5, 'A'], ['Bob', 95.0, 'A']]

>>> gameresult = [{'name':'Bob', 'wins':10, 'losses':3, 'rating':75.0},

{'name':'David', 'wins':3, 'losses':5, 'rating':57.0},

{'name':'Carol', 'wins':4, 'losses':5, 'rating':57.0},

{'name':'Patty', 'wins':9, 'losses':3, 'rating':72.8}]

#按’wins’升序,该值相同的按’name’升序排序

>>> sorted(gameresult, key=itemgetter('wins', 'name'))

[{'wins': 3, 'rating': 57.0, 'name': 'David', 'losses': 5}, {'wins': 4, 'rating': 57.0, 'name': 'Carol', 'losses': 5}, {'wins': 9, 'rating': 72.8, 'name': 'Patty', 'losses': 3}, {'wins': 10, 'rating': 75.0, 'name': 'Bob', 'losses': 3}]

#以一个列表内容为依据,对另一个列表内容进行排序

>>> list1 = ["what", "I'm", "sorting", "by"]

>>> list2 = ["something", "else", "to", "sort"]

#把两个列表中的对应位置元素配对

>>> pairs = zip(list1, list2)

>>> [item[1] for item in sorted(pairs, key=lambda x:x[0], reverse=True)]

['something', 'to', 'sort', 'else']

Python内置函数sorted()高级排序用法相关推荐

  1. Python内置函数max()高级用法

    不管是排序还是选取最大值或者最小值,都应该有个规则或者顺序,而平时我们所说的最大值或最小值实际上也是在某种排序规则或顺序下的最大值和最小值.Python内置函数max().min()和sorted() ...

  2. Python内置函数sorted()和列表方法sort()排序规则不得不说的事

    Python内置函数sorted()和列表方法sort()可以使用key参数指定排序规则,并且都是稳定排序,也就是说,对于指定规则不能涵盖的元素,本来谁在前面,排好以后谁还是在前面. 直接用代码说话: ...

  3. Python 内置函数sorted()在高级用法

    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...

  4. Python内置函数sorted()从入门到精通

    Python内置函数sorted()可以对列表.元组.字典.集合.字符串.range对象以及其他可迭代对象进行排序,返回排序后的列表,支持使用key参数指定排序规则,支持reverse参数指定升序或者 ...

  5. Python内置函数sorted()和列表方法sort()的排序原理

    问题描述:在Python中,可以使用内置函数sorted()和列表方法sort()对数据进行排序,但要求所有数据支持关系运算符,也就是这些数据本身是可以比较大小的才能进行排序,除非使用key参数明确指 ...

  6. Python内置函数int()高级用法

    int()函数常用来把其他类型转换为整数,例如: >>> int(3.2) 3 >>> int(1/3) 0 其实,int是Python内置类型之一,之所以能够当作 ...

  7. python内置函数布尔值bool用法详解

    python内置函数bool可将给定参数转换为bool类型,bool函数的返回值要么是True,要么是False,在做转换时,0, None,空字符串,空列表,空元组,空集合,空字典都会被转换为Fal ...

  8. python内置函数sorted(x)的作用是_Python内置filter与sorted函数

    Python内部提供了序列过滤函数 filter . 接收参数为 一个函数以及一个序列.函数依次作用于序列中的每一个元素,并根据返回值是True 或者 False 判断是否删除该元素. 样例如下 # ...

  9. python内置函数——sorted、filter、map、format

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

最新文章

  1. DataGridView 密码列(显示为*号)的设置
  2. Visual Studio 2017新版发布,极大提高开发效率丨附下载
  3. 经济学人: 低调应用, 高调回报, 亚马逊才是AI技术最大受益企业
  4. Openstack Nova 源码分析 — 使用 VCDriver 创建 VMware Instance
  5. BAT3四大巨头安全负责人破天荒聚在了一起,他们都说了什么?
  6. 吴涛 :低延迟传输协议和新Codec将成为热点
  7. osgText中的setAxisAlignment和setAlignment的区别
  8. easymock 图片_数据模拟神器 easy-mock 正式开源
  9. python时间去掉t_Python的set集合详解
  10. js根据毫米/厘米算像素px
  11. 大数据是如何基于 Flink 进行实时计算的?
  12. Linux下php-fpm进程过多导致内存耗尽问题解决
  13. 3DShader之法线贴图(normal mapping)
  14. 理解InnoDB数据及索引文件存储格式
  15. 解决《Python源码剖析》扫描版PDF字体模糊问题
  16. collect2: error: ld returned 1 exit status
  17. 百度OCR图像识别(包含自定义模板)
  18. 最新Xcode打包ipa步骤
  19. 三角色:程序员、技术主管与架构师
  20. 统计|(可/无)重复双因素方差分析一般步骤及分析表

热门文章

  1. java设计模式懒汉_JAVA设计模式之懒汉式
  2. tensorflow 转张量类型为float_一文看懂TensorFlow计算图
  3. java枚举类型特点_必须了解的高阶JAVA枚举特性!
  4. linux看火狐的安装目录,linux下firefox+geckodriver环境搭建
  5. android阴影分割线,android shape的使用及渐变色、分割线、边框、半透明阴影
  6. linux怎么让cat运行,使用lolcat让你的Linux命令行出现七彩虹
  7. Spring3集成Swagger2遇到问题总结
  8. Android自定义控件学习(五)-------自定义绘图
  9. 基于JAVA+SpringMVC+MYSQL的网上选课系统
  10. 基于JAVA+SpringBoot+Mybatis+MYSQL的体育馆开放管理系统