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

主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表。而内建函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作.

2. 再来,让我们用Python自带的帮助函数help()看看对于sorted()是怎么定义的:

要先说明的是, 本人用的Python版本为3.5, 所以会跟Python2的有变差。

由帮助可以看到,传进去一个可迭代的数据,返回一个新的列表,注意,是新的列表!来看看看实例吧:

由以上可以看到,只要是可迭代对象数据,都能够进行排序,生成一个排序后的列表。

如果想要排逆序呢?很简单,只要将可选参数reverse设置为True即可:

高级用法

有时候,我们要处理的数据内的元素不是一维的,而是二维的甚至是多维的,那要怎么进行排序呢?这时候,sorted()函数内的key参数就派上用场了!从帮助信息上可以了解到,key参数可传入一个自定义函数。那么,该如何使用呢?让我们看看如下代码:

这里,列表里面的每一个元素都为二维元组,key参数传入了一个lambda函数表达式,其x就代表列表里的每一个元素,然后分别利用索引返回元素内的第一个和第二个元素,这就代表了sorted()函数利用哪一个元素进行排列。而reverse参数就如同上面讲的一样,起到逆排的作用。默认情况下,reverse参数为False。

当然,正如一开始讲到的那样,如果想要对列表直接进行排序操作,可以用成员方法sort()来做:

对于三维及以上的数据排排序,上述方法同样适用。

python编写函数模拟内置函数sorted_Python 内置函数sorted()在高级用法相关推荐

  1. 【数据】【自动化交易】Python编写策略模拟股票交易

    [数据][自动化交易]Python编写策略模拟股票交易 这节我就用上节提到的pyalgotrade来编写回测策略程序,模拟股票交易.本篇文章里用的是SMA均线策略. 数据 数据我使用的是 大恒科技(6 ...

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

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

  3. fib函数用python编写求第n项_第6章函数-4 使用函数输出指定范围内Fibonacci数的个数|简明python教程|python入门|python教程...

    本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0 函数接口定义: 在这里描述函数接口.例如: fib(n),返回fib(n)的值 PrintFN(m, ...

  4. python编写程序模拟硬币投掷,模拟掷硬币实验RealPython

    有人能帮我解释一下下面Realpython分配任务的解决方案吗?我发现的解决方案似乎令人困惑.在 编写一个python脚本,它使用掷硬币模拟来确定这个稍微复杂一些的概率谜题的答案:我不断地翻转一个公平 ...

  5. python编写程序模拟硬币的投掷、假设0表示硬币的反面_Python.习题四 循环结构

    Python. 循环结构 1.编写程序,计算1×2×3×-×10. s=1 i=1 while i<=10: s=s*i i=i+1 print("s=",s) 2.编写程序 ...

  6. python编写程序模拟硬币的投掷、假设0表示硬币的反面_修改了Python中的硬币投掷程序,无法完成循环...

    谢谢你们的帮助!以下是完整的代码:D''' _MBE_ CIS-115-09 Lab 6-1 Write a python program, using modules / functions, to ...

  7. python编写程序模拟猫狗大战

    Python课堂老师布置的小练习,还不太熟练,有不足之处,还希望各路大神多指点指点 print('='*20,'欢迎来到猫狗大战','='*20)class Animals :def __init__ ...

  8. 以下不是python内置函数的是_python课堂整理16---内置函数

    1. abs :求绝对值 print(abs(-1)) 2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False print(all ...

  9. 用缓动函数模拟物理动画

    1.缓动函数简介 <1>缓动函数的动画效果是建立在CALayer层级的关键帧动画基础之上 也就是说用普通的UIView的Animation是无法直接实现缓动函数 <2>缓动函数 ...

  10. python练手经典100例-非常适合Python菜鸟练手的趣味题(内附学习教程分享)

    Python虽然入门容易,但是涉及的知识点非常多,而且技巧性很强!这些技巧就像一串一串的珠子,需要一些题目的不断的练手才能熟练掌握串联起来,把知识点掌握牢固! 今天我就精选了3道趣味的Python题目 ...

最新文章

  1. Windows 7搜索功能讲解
  2. 企业网站建设中seo不能缺
  3. zookeeper启动占用8080端口
  4. 理解JWT(JSON Web Token)认证及python实践
  5. python3安装后无法使用退格键的问题
  6. PYTHON自动化Day4-交换变量,字符串方法,拷贝,集合,文件,文件指针
  7. Linux | 编译原理、gcc的命令参数、自动化构建工具 make/Makefile
  8. java drawpolygon_Java如何绘制和填充有孔的Polygon
  9. 天气预报APP(1)
  10. 【imessage软件群推送】 “CMCC“ | grep password #待补充 重置后撤销暂存的变更
  11. C++封装继承多态理解
  12. JCTF Writeup
  13. 重磅!融云推出「百幄」政企数智办公平台
  14. 《SteamVR2.2.0开发指南》(Yanlz+Unity+XR+SteamVR+OpenXR+OpenVR+Valve+VIVE+Oculus+Interaction+VR+立钻哥哥++ok++)
  15. 扫码点单收银小程序源码
  16. 网站引用字体兼容IE
  17. 思岚科技发布最新中小型机器人开发平台Apollo
  18. 如何判断用户是否关闭浏览器
  19. IDEA 2020/7/28更新特性速览 - 对于各框架的支持,版本控制工具,docker,构建工具等的支持
  20. 踩到一个R8代码压缩工具的坑

热门文章

  1. TeamTalk消息协议
  2. CentOS下安装JDK7
  3. google测试框架
  4. oracle导入dmp报20000,imp导入dmp文件报:IMP-00038: 无法转换为环境字符集句柄IMP-00000: 未成功终止导入...
  5. java guice_java – Guice Inject类中的字段不是由Guice创建的
  6. MQL5 编程基础:列表
  7. 矩阵键盘mega16 c语言程序,mega16单片机科学计算器程序源代码
  8. android手写输入法开发,基于Android平台的云计算手写输入法
  9. eclipse配置Tomcat9
  10. 中文 tts 开源 Android,7 个开源的TTS(文本转语音)系统推荐-Go语言中文社区