python的sorted函数

python的sorted函数sorted很简单,没太多好写的,只是给自己做个笔记。sorted接受三个参数,返回一个排序之后的list。第一个接受一个可迭代的对象(因为sorted实现了迭代协议,所以接受的参数不一定需要l

大家好,又见面了,我是你们的朋友全栈君。

sorted很简单,没太多好写的 ,只是给自己做个笔记。

sorted接受三个参数,返回一个排序之后的list。

第一个接受一个可迭代的对象(因为sorted实现了迭代协议,所以接受的参数不一定需要list,可以迭代的对象就可以,也是duck typing),返回一个排序之后的列表。

第二个接受一个布尔值,选择是否反转排序结果。

第三个接受一个回调函数,这个回调函数只能有一个参数(如果有多个参数,请用偏函数),根据这个函数的返回值进行排序。

这个返回值并不限定于这个可迭代对象的某个的元素,比如可以将每个元素中的某个key对应的value作为排序的依据,也可以根据其他结果,比如绝对值进行排序。

上个很简单的实例代码:

完整代码: https://github.com/blackmatrix7/python-learning/blob/master/function_/sorted.py

__author__ = 'blackmatrix'

temp_list = [4, -5, 7, 1, -3, 2, -9]

if __name__ == '__main__':
    print(sorted(temp_list))
    # 反转
    print(sorted(temp_list, reverse=True))
    # 根据绝对值排序
    print(sorted(temp_list, key=lambda key: abs(key)))

输出结果

[-9, -5, -3, 1, 2, 4, 7]
[7, 4, 2, 1, -3, -5, -9]
[1, 2, -3, 4, -5, 7, -9]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155993.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C++多线程并发(五)—原子操作与无锁编程

    C++多线程并发(五)—原子操作与无锁编程一、何为原子操作前面介绍了多线程间是通过互斥锁与条件变量来保证共享数据的同步的,互斥锁主要是针对过程加锁来实现对共享资源的排他性访问。很多时候,对共享资源的访问主要是对某一数据结构的读写操作,如果数据结构本身就带有排他性访问的特性,也就相当于该数据结构自带一个细粒度的锁,对该数据结构的并发访问就能更加简单高效,这就是C++11提供的原子数据类型<atomic>。下面解释两个概念:…

  • 计算机图形学光栅化实验_光栅化算法

    计算机图形学光栅化实验_光栅化算法光栅化光栅化的任务将在投影变换中得到的正则立方体显示在屏幕上屏幕screen像素(pixels)的集合。屏幕的大小使用分辨率(resolution)来刻画。经典的光栅显示设备像素pixel像素是一个具有统一颜色的小立方体颜色由三部分组成red,green,blue屏幕空间​ 屏幕被划分成一个个正方体,称为像素。像素使用坐标(x,y)(x,y)(x,y)来表示,其中心是(x+0.5,y+0.5)(x+0.5,y+0.5)(x+0.5,y+0.5),

    2022年10月21日
  • 快速教会你,虚拟机如何上网

    快速教会你,虚拟机如何上网虚拟机如何上网###在真机里[kiosk@foundationDesktop]$su-##切换到超级用户电脑不联网。先检查一下是否有网关,如果有网关的话需要先删除,以下操作步骤是给真机还原一个初始环境[root@foundation5~]#route-n##…

  • Python中的XOR异或符号^运用

    Python中的XOR异或符号^运用^运算符为异或运算a=10b=100c=a^b#c=110为什么会得到这样的结果呢?bin(10)#’0b1010’bin(100)#’0b1100100’其实这里面经历了几次计算:1.计算a,b的二进制值:bin(10)#’0b1010’bin(100)#’0b1100100’2.^符号的作用是将两数字相…

  • ‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」

    ‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」’java’不是内部或外部命令,也不是可运行的程序或批处理文件。今天在运行逆向的jar,其中在cmd中用到了java命令。配置JAVA环境变量如下:1.下载安装jdk2.安装完成后,右击“我的电脑”,点击“属性”;3.选择“高级”选项卡,windows7选择左边的“高级系统设置”,点击“环境变量”;4.用户变量配置JAVA_HOME指明JAVA安装路径,值设为:C…

  • Java FileInputStream默认编码方式

    Java FileInputStream默认编码方式使用如下代码测试:InputStreamis=newFileInputStream(newFile(“C:\\Users\\Administrator\\Desktop\\test1.txt”));    byte[]bs=newbyte[4096];    intlen=is.read(bs);    System.out.pri

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号