对python3 sort sorted 函数的应用详解

 更新时间:2019年06月27日 15:31:40   作者:u010069176  
今天小编就为大家分享一篇对python3 sort sorted 函数的应用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python3 sorted取消了对cmp的支持。

python3 帮助文档:

sorted(iterable,key=None,reverse=False)

key接受一个函数,这个函数只接受一个元素,默认为None

reverse是一个布尔值。如果设置为True,列表元素将被倒序排列,默认为False

着重介绍key的作用原理:

key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None 。

例1:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]

sorted(students,key=lambda s: x[2]) #按照年龄来排序

结果:[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

例2:这是一个字符串排序,排序规则:小写<大写<奇数<偶数

s = 'asdf234GDSdsf23' #排序:小写-大写-奇数-偶数

print("".join(sorted(s, key=lambda x: (x.isdigit(),x.isdigit() and int(x) % 2 == 0,x.isupper(),x))))

原理:先比较元组的第一个值,FALSE<TRUE,如果相等就比较元组的下一个值,以此类推。

先看一下Boolean value 的排序:

print(sorted([True,Flase]))===>结果[False,True]

Boolean 的排序会将 False 排在前,True排在后 .

1.x.isdigit()的作用是把数字放在前边,字母放在后边.

2.x.isdigit() and int(x) % 2 == 0的作用是保证奇数在前,偶数在后。

3.x.isupper()的作用是在前面基础上,保证字母小写在前大写在后.

4.最后的x表示在前面基础上,对所有类别数字或字母排序。

最后结果:addffssDGS33224

例3:一到面试题:

list1=[7, -8, 5, 4, 0, -2, -5]

#要求1.正数在前负数在后 2.整数从小到大 3.负数从大到小

sorted(list1,key=lambda x:(x<0,abs(x)))

解题思路:先按照正负排先后,再按照大小排先后。

以上这篇对python3 sort sorted 函数的应用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python logging模块原理解析及应用

    Python logging模块原理解析及应用

    这篇文章主要介绍了Python logging模块原理解析及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 在Python中字典按值排序的实现方法

    在Python中字典按值排序的实现方法

    这篇文章主要介绍了在Python中字典按值排序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • selenium+python自动化测试之页面元素定位

    selenium+python自动化测试之页面元素定位

    这篇文章主要介绍了selenium+python自动化测试之页面元素定位,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python email smtplib模块发送邮件代码实例

    python email smtplib模块发送邮件代码实例

    本篇文章给大家分享了python email smtplib模块发送邮件的相关代码分享,有需要的朋友参考学习下。
    2018-04-04
  • 8个Python中可复用函数的最佳实践分享

    8个Python中可复用函数的最佳实践分享

    在Python编程中,编写可复用的函数是提高代码质量和开发效率的关键,本文将介绍8种最佳实践,并提供丰富的示例代码,希望可以帮助大家编写高质量的可复用函数
    2023-12-12
  • python爬虫线程池案例详解(梨视频短视频爬取)

    python爬虫线程池案例详解(梨视频短视频爬取)

    这篇文章主要介绍了python爬虫线程池案例详解(梨视频短视频爬取),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python调用飞书发送消息的示例

    Python调用飞书发送消息的示例

    这篇文章主要介绍了Python调用飞书发送消息的示例,帮助大家更好的理解和学习python编程语言的用法,感兴趣的朋友可以了解下
    2020-11-11
  • Django 设置多环境配置文件载入问题

    Django 设置多环境配置文件载入问题

    这篇文章主要介绍了Django 设置多环境配置文件载入问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 重命名批处理python脚本

    重命名批处理python脚本

    师兄采集的视网膜图像放在一个文件夹下,由于分类十分混乱,因此出现了一个文件多次出现的情况,因此让我写了个脚本
    2013-04-04
  • 解析django的csrf跨站请求伪造

    解析django的csrf跨站请求伪造

    本文主要介绍了解析django的csrf跨站请求伪造,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论