python的sorted函数及使用解析

 更新时间:2022年11月21日 08:48:50   作者:问就是啥也不是  
这篇文章主要介绍了python的sorted函数,sorted函数就比sort函数要强大许多了,sort只能对列表进行排序,sorted可以对所有可迭代类型进行排序,并且返回新的已排序的列,本文给大家详细讲解需要的朋友可以参考下

一、sort函数

如果对python中的列表进行排序,可以使用List类的成员函数sort,该函数会在原空间上进行操作,对列表本身进行修改,不返回副本。语法如下:

L.sort(cmp=None, key=None, reverse=False)

二、sorted函数

sorted函数就比sort函数要强大许多了,sort只能对列表进行排序,sorted可以对所有可迭代类型进行排序,并且返回新的已排序的列表。语法如下:

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

一共可接受4个参数,含义分别如下:
1.可迭代类型,例如字典、列表、
2.比较函数
3.可迭代类型中某个属性,对给定元素的每一项进行排序
4.降序或升序

三、结合使用

与sorted经常结合使用的有:

1.比较函数经常会用到lambda。

lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。比如对元组组成的列表中某一项进行排序:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]  
sorted(students, key=lambda student : student[2])   # sort by age  
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]  

2.比较函数经常会用到operator.itemgetter函数

operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号。

要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。
sorted函数用来排序,sorted(iterable[, cmp[, key[, reverse]]])
其中key的参数为一个函数或者lambda函数。所以itemgetter可以用来当key的参数

 例如根据第二个域和第三个域进行排序
 a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
 sorted(students, key=operator.itemgetter(1,2))

3.可迭代元素经常会用到items

items是字典中的一个方法,返回由元组组成的列表。

四、对字典的值进行排序

dict={'a':1,'b':2}
ans = sorted(dict.items(), key = lambda x:x[1], reverse = True)

Python中sorted()用法

sorted()函数:返回一个排序后的新序列,不改变原始序列。

我们知道,Python中列表是基本数据类型之一,是写在方括号之间,用逗号分隔开的元素序列。可以同时存在数字、字符串、元组、字典、集合等数据类型的对象,甚至可以包含列表(即嵌套),例如。[1,2,3] [a,b,c] [123,[abc]]

关于列表的常用函数,例如sorted()函数,具体用法及案例如下:

sorted(iterable[,key][,reverse])返回一个排序后的新序列,不改变原始的序列。

第一个参数interable是可迭代的对象。

第二个参数key用来指定一个带参数的函数,该函数会在每个元素排序前被调用,如key=abs #按绝对值大小排序。

key指定的函数将作用于list的每一个元素上,并根据key指定的函数返回的结果进行排序。

第三个参数reverse用来指定正向还是反向排序

如反向排序第三个参数reverse=True:

例如>>>sorted(['bcd','about','diff','create'],key=str.lower,reverse=True)                             #按小写反向排序

['diff','create','bcd','about']

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

相关文章

  • Python的log日志功能及设置方法

    Python的log日志功能及设置方法

    今天小编就为大家分享一篇Python的log日志功能及设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Pytorch中的 torch.distributions库详解

    Pytorch中的 torch.distributions库详解

    这篇文章主要介绍了Pytorch中的 torch.distributions库,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Python异步编程之yield from的用法详解

    Python异步编程之yield from的用法详解

    yield from 是Python3.3 后新加的语言结构,可用于简化yield表达式的使用,这篇文章主要为大家详细介绍了yield from的用法,需要的可以了解一下
    2023-12-12
  • Python使用QRCode模块生成二维码实例详解

    Python使用QRCode模块生成二维码实例详解

    这篇文章主要介绍了Python使用QRCode模块生成二维码实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Python使用matplotlib.pyplot画热图和损失图的代码详解

    Python使用matplotlib.pyplot画热图和损失图的代码详解

    众所周知,在完成论文相关工作时画图必不可少,如损失函数图、热力图等是非常常见的图,在本文中,总结了这两个图的画法,下面给出了完整的代码,开箱即用,感兴趣的同学可以自己动手尝试一下
    2023-09-09
  • 利用QT写一个极简单的图形化Python闹钟程序

    利用QT写一个极简单的图形化Python闹钟程序

    这篇文章主要介绍了利用QT写一个极简单的图形化Python闹钟程序,核心代码只有25行,显示屏幕提示而没有闹铃声音,需要的朋友可以参考下
    2015-04-04
  • Python中的异常处理try/except/finally/raise用法分析

    Python中的异常处理try/except/finally/raise用法分析

    这篇文章主要介绍了Python中的异常处理try/except/finally/raise用法,结合实例形式分析了Python异常处理try/except/finally/raise相关功能与使用操作技巧,并附带了Python常见异常的表格说明,需要的朋友可以参考下
    2019-02-02
  • Python获取list中指定元素索引的两种方法小结

    Python获取list中指定元素索引的两种方法小结

    本文主要介绍了两种在Python中获取列表中指定元素索引的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Python对于json数据键值对遍历

    Python对于json数据键值对遍历

    这篇文章主要介绍了一文搞定Python中对于json数据键值对遍历,Python中可以通过字典或者列表的遍历方式来遍历JSON格式的数据中的键值对,具体的遍历方法取决于你将JSON数据解析后得到了一个字典对象还是一个列表对象,以及JSON数据的结构,需要的朋友可以参考下
    2023-04-04
  • 浅谈keras中自定义二分类任务评价指标metrics的方法以及代码

    浅谈keras中自定义二分类任务评价指标metrics的方法以及代码

    这篇文章主要介绍了浅谈keras中自定义二分类任务评价指标metrics的方法以及代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论