sorted用法

sorted是Python提供的功能强大的排序函数。满足字符,数字等排序要求。

对数字进行排序:

list = [-12, -2, -24, 20, 39, 10];

print(sorted(list))

输出结果:

[-24, -12, -2, 10, 20, 39]

sorted 作为一个高阶函数,支持传入key。key作为排序的规则.

sorted(array,key)

将list 中元素取绝对值之后排序

print(sorted(lsit, key=abs))

输出结果:

[-2, 10, -12, 20, -24, 39]

原数组:

数据

排序结果

list

[-24, -12, -2, 10, 20, 39]

key=abs

[24,12,2,10,20,39] -> [2,10,12,20,24,39]

sorted(list,key = abs)

[-2,10,-12,20,-24,39]

高阶函数允许传入key 作为排序规则。

先经过key规则对数组进行处理之后。在使用sorted进行排序。

sorted排序字符:

listStr = ["C", "s", "a", "A", "z", "O"];

# 使用所有的字符转为小写,然后根据ascii码相应字符的排序进行比较

print(sorted(listStr, key=str.lower))

输出结果:

['a', 'A', 'C', 'O', 's', 'z']

sorted(listStr,key= str.lower, reverse=True)

reverse:允许对已经经过key处理过的数据进行反转.

# 忽略大小写 排序字符

listStr = ["C", "s", "a", "A", "z", "O"];

# 使用所有的字符转为小写,然后根据ascii码相应字符的排序进行比较

print(sorted(listStr, key=str.lower, reverse=True))

输出结果:

['z', 's', 'O', 'C', 'a', 'A']

使用operator.itemgetter 作为key进行排序

一个例子:

以下students数组,结构为(名字,成绩,年龄)

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

对students 按照名字、成绩、年龄排序

使用itemgetter获取数组中特定下标元素作为key

print(sorted(students, key=itemgetter(1)))

输出结果:

[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

print(sorted(students, key=itemgetter(1,0)))

输出结果:

[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]

由以上结果可以发现,使用itemgetter获取数组元素作为key处理规则。

计算逻辑为,依次使用itemgetter中参数进行处理数组。

使用lamda表达式作为key

print(sorted(students, key=lambda x: students[1]))

输出结果:

[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

以上都支持在reverse属性对数据进行反转。

如果解决了你的问题,请点个赞。

不点就在看一遍吧。

python按照绝对值排序_Python高阶函数sorted排序相关推荐

  1. python高阶函数——sorted排序算法

    python高阶函数--sorted排序算法 python 内置的sorted()函数可以对一个list进行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, ...

  2. python绝对值编程_Python高阶函数

    高阶函数英文叫Higher-order function. 什么是高阶函数? 我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用 ...

  3. Python 函数式编程,Python中内置的高阶函数:map()、reduce()、filter()与sorted(),Python中返回函数

    函数式编程 是一种编程范式,比函数更高层次的抽象. 函数式编程将计算视为函数而非指令. 纯函数式编程:不需要变量,没有副作用,测试简单. 支持高阶函数,代码简洁. Python 支持的函数式编程 不是 ...

  4. python高阶函数心得体会_Python高阶函数使用总结

    Datawhale干货   作者:皮钱超,厦门大学,Datawhale原创作者 本文约2000字,建议阅读6分钟 审稿人:耿远昊,Datawhale成员,华东师范大学,开源教程<Joyful-P ...

  5. python中高阶函数和装饰器_Python高阶函数与装饰器函数的深入讲解

    本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧 高阶函数 1.可以使用函数对象作为参数的函数 2.或可以将函数作为返回值的函数 3.函数 ...

  6. Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊...

    函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...

  7. python中的内置高阶函数

    一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...

  8. python基础之常用的高阶函数

    前言 高阶函数指的是能接收函数作为参数的函数或类:python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. map() map函数可以把一个迭代对象转换成另一个可迭代对象,不过在pyth ...

  9. 【吐血整理】Python 常用的几种高阶函数和简单的迭代函数

    目录 一.all() 函数--判断可迭代对象中的元素是否全为True 二.any() 函数--判断可迭代对象是否全为假值 三.filter() 函数--通过指定条件过滤序列 四.map() 函数--- ...

最新文章

  1. zepto打造一款移动端划屏插件
  2. 聊聊 scala 的模式匹配
  3. Binder通信中的代理模式
  4. git merge合并时遇上refusing to merge unrelated histories的解决方案
  5. 修改linux的shell限制,Nginx下解决WebShell访问限制问题
  6. HarmonyOS之数据管理·融合搜索的应用
  7. ASP.NET Core 认证与授权[5]:初识授权
  8. [转]揭开正则表达式的神秘面纱
  9. node express创建项目步骤
  10. 115. 不同的子序列(JavaScript)
  11. 【权益证明与错误的工程学思维模式】PoS正驶向错误的方向:是在降低而不是提升质量....
  12. 程序化交易系统的搭建
  13. 美国计算机硕士要读多久,去美国读研究生需要多久 各专业时长一览
  14. 简单明了理解交叉验证
  15. 计算机网络和HTTP协议:HTTP篇
  16. matlab如何镜像处理图片,matlab实现图像镜像
  17. linux静态链接库添加,c-静态链接库时,出现链接器错误:找不到-...
  18. Cocos游戏带你告别光棍节:欢迎对号入座、修成正果!
  19. 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」
  20. 手把手带你清理电脑版微信冗余资源

热门文章

  1. CSDN日报190314:我能够入职世界顶尖的卡巴斯基,却被国内的安全公司拒之门外
  2. 使用MindStudio完成StarNet_MobileNetV3模型开发
  3. Ldap探索之路之directory-server(ApacheDs二次开发)
  4. JAVA计算应缴住房基金,以支取住房基金方式怎样汇缴公积金
  5. MIS和DSS的区别及联系+DSS能解决的问题
  6. 关于苹果手机的真机调试
  7. 使命召唤16吃鸡无错误码闪退解决方案
  8. C语言做一个36除以2的循环,C语言循环练习2,建议做做
  9. 区块链下一波趋势大红利,是猪都能飞起来的那种
  10. 卡路里计算JAVA,集合操作利器-java 8中的Stream(一)