python按照绝对值排序_Python高阶函数sorted排序
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排序相关推荐
- python高阶函数——sorted排序算法
python高阶函数--sorted排序算法 python 内置的sorted()函数可以对一个list进行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, ...
- python绝对值编程_Python高阶函数
高阶函数英文叫Higher-order function. 什么是高阶函数? 我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用 ...
- Python 函数式编程,Python中内置的高阶函数:map()、reduce()、filter()与sorted(),Python中返回函数
函数式编程 是一种编程范式,比函数更高层次的抽象. 函数式编程将计算视为函数而非指令. 纯函数式编程:不需要变量,没有副作用,测试简单. 支持高阶函数,代码简洁. Python 支持的函数式编程 不是 ...
- python高阶函数心得体会_Python高阶函数使用总结
Datawhale干货 作者:皮钱超,厦门大学,Datawhale原创作者 本文约2000字,建议阅读6分钟 审稿人:耿远昊,Datawhale成员,华东师范大学,开源教程<Joyful-P ...
- python中高阶函数和装饰器_Python高阶函数与装饰器函数的深入讲解
本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧 高阶函数 1.可以使用函数对象作为参数的函数 2.或可以将函数作为返回值的函数 3.函数 ...
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊...
函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...
- python中的内置高阶函数
一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...
- python基础之常用的高阶函数
前言 高阶函数指的是能接收函数作为参数的函数或类:python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. map() map函数可以把一个迭代对象转换成另一个可迭代对象,不过在pyth ...
- 【吐血整理】Python 常用的几种高阶函数和简单的迭代函数
目录 一.all() 函数--判断可迭代对象中的元素是否全为True 二.any() 函数--判断可迭代对象是否全为假值 三.filter() 函数--通过指定条件过滤序列 四.map() 函数--- ...
最新文章
- zepto打造一款移动端划屏插件
- 聊聊 scala 的模式匹配
- Binder通信中的代理模式
- git merge合并时遇上refusing to merge unrelated histories的解决方案
- 修改linux的shell限制,Nginx下解决WebShell访问限制问题
- HarmonyOS之数据管理·融合搜索的应用
- ASP.NET Core 认证与授权[5]:初识授权
- [转]揭开正则表达式的神秘面纱
- node express创建项目步骤
- 115. 不同的子序列(JavaScript)
- 【权益证明与错误的工程学思维模式】PoS正驶向错误的方向:是在降低而不是提升质量....
- 程序化交易系统的搭建
- 美国计算机硕士要读多久,去美国读研究生需要多久 各专业时长一览
- 简单明了理解交叉验证
- 计算机网络和HTTP协议:HTTP篇
- matlab如何镜像处理图片,matlab实现图像镜像
- linux静态链接库添加,c-静态链接库时,出现链接器错误:找不到-...
- Cocos游戏带你告别光棍节:欢迎对号入座、修成正果!
- 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」
- 手把手带你清理电脑版微信冗余资源
热门文章
- CSDN日报190314:我能够入职世界顶尖的卡巴斯基,却被国内的安全公司拒之门外
- 使用MindStudio完成StarNet_MobileNetV3模型开发
- Ldap探索之路之directory-server(ApacheDs二次开发)
- JAVA计算应缴住房基金,以支取住房基金方式怎样汇缴公积金
- MIS和DSS的区别及联系+DSS能解决的问题
- 关于苹果手机的真机调试
- 使命召唤16吃鸡无错误码闪退解决方案
- C语言做一个36除以2的循环,C语言循环练习2,建议做做
- 区块链下一波趋势大红利,是猪都能飞起来的那种
- 卡路里计算JAVA,集合操作利器-java 8中的Stream(一)