当前位置: 首页 > news >正文

python的sorted函数

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]

 

转载于:https://www.cnblogs.com/blackmatrix/p/6916368.html

相关文章:

  • 老程序员总结的15+条经验教训
  • 使用PullToRefresh实现下拉刷新和上拉加载
  • 本地apt
  • [路径规划] VFF和VFH
  • 三招破局 轻松搞定大型直播晚会
  • 一次性代码(单例)
  • 前端面试之闭包
  • linux磁盘管理以及linux文件系统管理
  • 普通用户自动挂载光盘
  • SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
  • eclipse自动为变量生成Get/Set函数
  • 【Unity】Update()和FixedUpdate()
  • python标识符
  • Ubuntu 12.04 怎样安装 Google Chrome
  • Xampps 1.9.1 系列版本正式发布
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JDK 6和JDK 7中的substring()方法
  • Linux Process Manage
  • mongodb--安装和初步使用教程
  • mongo索引构建
  • Otto开发初探——微服务依赖管理新利器
  • Python学习笔记 字符串拼接
  • SQLServer之创建数据库快照
  • 入门到放弃node系列之Hello Word篇
  • 物联网链路协议
  • 携程小程序初体验
  • 鱼骨图 - 如何绘制?
  • 与 ConTeXt MkIV 官方文档的接驳
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​io --- 处理流的核心工具​
  • #stm32驱动外设模块总结w5500模块
  • #考研#计算机文化知识1(局域网及网络互联)
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (rabbitmq的高级特性)消息可靠性
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (论文阅读30/100)Convolutional Pose Machines
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (万字长文)Spring的核心知识尽揽其中
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .apk 成为历史!
  • .NET CLR Hosting 简介
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET6实现破解Modbus poll点表配置文件
  • .net反编译工具
  • .NET中统一的存储过程调用方法(收藏)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • ::before和::after 常见的用法
  • @DataRedisTest测试redis从未如此丝滑
  • @html.ActionLink的几种参数格式
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [ai笔记4] 将AI工具场景化,应用于生活和工作