python中sort()函数用法详解

 更新时间:2022年08月15日 16:53:18   作者:qq_20831401  
Python和Java等编程语言一样,提供了一种自动排序的方法,Java中是Arrays.sort()方法,而Python中是sort()方法,下面这篇文章主要给大家介绍了关于python中sort()函数用法的相关资料,需要的朋友可以参考下

1.函数sort()是对列表就地排序

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort()
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2.函数sort()修改序列,不返回任何值

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> y=x.sort()
>>> print(y)
None
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3.sorted()函数会返回一个排序列表,不改变原有序列

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> y=sorted(x)
>>> print(y)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(x)
[8, 9, 0, 7, 4, 5, 1, 2, 3, 6]

4.函数sort()是升序排序,如何降序排序,需要用到函数reverse()

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort()
>>> x.reverse()
>>> print(x)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

5.函数sort()排序的高级用法

方法sort()可以接受两个参数sort(key,reverse)

(1) key参数

key接受的是一个只有一个形参的函数

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> def size(a):
>>>     x=10-int(a)
>>>     return x
>>> x.sort(key=size)
>>> print(x)

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

(2) reverse参数

reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的

>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort(reverse=True)
>>> print(x)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> x.sort(reverse=False)
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 

补充:python中sort的用法——对列表中的元素按关键字排序

在python中,sort是列表排序的一种方法,调用方式为list.sort(),这样会改变原来列表的值。

sort(key, reverse)方法有key和reverse两种参数,其中key表示的是排序的关键字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)

sort()方法默认是升序排序,即默认reverse=False。

下面主要写一下如何用sort根据关键字排序:

对于一个列表,其中的元素也是列表,要根据元素中的值进行排序,直接看代码:

例子一:

l = [[1,2,3],[2,2,1],[2,1,3]]

l.sort(key = lambda x: (x[0],-x[1]))
'''
其中key表示按第几个关键字排序,lambda x:后()中的元素表示了关键字的优先级
第一位表示最高的优先级,第二位次之。。。
其中下x[0]表示按第一个关键词的升序排列,-x[1]表示按第二个关键词的降序排列。
'''
print(l)
#输出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]

例子二:

l = [[1,2,2],[2,2,1],[2,1,3]]

l.sort(key = lambda x: (-x[2],x[1]))
#表示按第三个元素的降序排列,然后再根据第二个元素的升序排
print(l)
#输出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]

总结

到此这篇关于python中sort()函数用法的文章就介绍到这了,更多相关python sort()函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python去除空格和换行符的实现方法(推荐)

    python去除空格和换行符的实现方法(推荐)

    下面小编就为大家带来一篇python去除空格和换行符的实现方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 关于Python使用logging库进行有效日志管理的方法详解

    关于Python使用logging库进行有效日志管理的方法详解

    在开发大型软件或处理复杂问题时,我们经常需要一种方法来记录和跟踪程序的运行状态,Python 提供了一个名为 logging 的标准库,可以帮助我们更好地完成这项任务,在这篇文章中,我们将介绍如何使用 Python 的 logging 库进行日志记录
    2023-06-06
  • 使用Python3编写抓取网页和只抓网页图片的脚本

    使用Python3编写抓取网页和只抓网页图片的脚本

    这篇文章主要介绍了使用Python3编写抓取网页和只抓网页图片的脚本,使用到了urllib模块,需要的朋友可以参考下
    2015-08-08
  • 详解Python匹配多行文本块的正则表达式

    详解Python匹配多行文本块的正则表达式

    这篇文章主要介绍了Python 匹配多行文本块的正则表达式,该解决方案折衷了已知和未知模式的几种方法,并解释了匹配模式的工作原理,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Django实现带进度条的倒计时功能详解

    Django实现带进度条的倒计时功能详解

    这篇文章主要为大家详细介绍了如何利用Django实现简单的带进度条的倒计时功能,可以在页面加载后自动开始计时,下次计时需要手动刷新页面,需要的可以参考一下
    2023-04-04
  • Python3 导入上级目录中的模块实例

    Python3 导入上级目录中的模块实例

    今天小编就为大家分享一篇Python3 导入上级目录中的模块实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • pytorch+lstm实现的pos示例

    pytorch+lstm实现的pos示例

    今天小编就为大家分享一篇pytorch+lstm实现的pos示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python中使用中文的方法

    Python中使用中文的方法

    python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。
    2011-02-02
  • Python实现pdf转word详细代码

    Python实现pdf转word详细代码

    在日常工作中,我们经常会遇到需要将PDF文件转换成Word文件的需求。虽然市面上有许多PDF转Word的工具,但是它们通常需要付费或者有转换后的格式问题,这篇文章主要给大家介绍了关于Python实现pdf转word的相关资料,需要的朋友可以参考下
    2023-09-09
  • 使用Python自定义创建的Log日志模块

    使用Python自定义创建的Log日志模块

    这篇文章主要介绍了使用Python自定义创建的Log日志模块,日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用,需要的朋友可以参考下
    2023-07-07

最新评论