Python之常用的高阶函数——abs、map、reduce、filter、sorted
1.abs
简单来说abs的功能就是求一个数的绝对值
例:
特点:
<1>函数本身也可以赋值给变量,变量也可以指向函数
<2>传递的参数包括函数名
2.map
map()函数接收两个参数,一个是函数,一个是序列
map将传入的函数依次作用到序列的每个元素,并把结果作为新的序列返回
用法示例:
- 问题1:请使用map函数对序列[-1,2,-3,4,-5]的每个元素求绝对值
聪明的小伙伴也许会这样写:
print(map(abs,[-1,2,-3,4,-5]))
你会发现语法上没有问题,结果也没有报错,可是却生出了一串奇奇怪怪的玩意儿:
<map object at 0x7fb904766be0>
这是因为map函数返回的是一个对象(object),而不是你想象的一个列表,当然关于对象的具体概念,我们后面再谈。正确写法:
程序练习题:,给出一个随机序列(5个元素,都在1~15之间的随机数),对于序列的每个元素求阶乘
3.reduce
reduce:把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
reduce(f,[x1,x2,x3,x4,x5] = f(f(f(x1,x2),x3),x4)
用法示例:
注:这里在使用reduce时需要导入funtools包,如下:
from functools import reduce
4.filter过滤函数
和map()类似,也接收一个函数和一个序列
但fileter()把传入的函数依次作用于每个元素,然后根据返回值
是True或False来决定保留还是丢弃该元素
用法示例:
- 用.filter过滤函数求0~20的偶数
5.sorted排序函数
例1:
li = [2,1,3,4]
li.sort(reverse=True) ##reverse=True 指倒序
print(li)
例2:
info = {#商品名称 商品数量 商品价格('apple1',200,32),('apple2',40,12),('apple3',40,2),('apple4',1000,23),('apple5',40,5),
}# print(sorted(info))#按照商品数量进行排序
def sorted_by_count(x):return x[1]#按照商品价格进行排序
def sorted_by_price(x):return x[2]#先按照商品数量由小到大排序,如果商品数量一样
#则按照商品价格由小到大排序
def sorted_by_count_price(x):return x[1],x[2]print(sorted(info,key=sorted_by_count))
print(sorted(info,key=sorted_by_price))
print(sorted(info,key=sorted_by_count_price))
程序练习题:
(2018-携程-春招题)题目需求:
给定一个整形数组, 将数组中所有的0移动到末尾, 非0项保持不变;
在原始数组上进行移动操作, 勿创建新的数组;
输入:
第一行是数组长度, 后续每一行是数组的一条记录;
4
0
7
0
2
输出:
调整后数组的内容;
4
7
2
0
0
利用map和reduce写一个函数,把字符串’123.456’转换成浮点数123.456
回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数
Python之常用的高阶函数——abs、map、reduce、filter、sorted相关推荐
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊...
函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...
- python3高阶函数:map(),reduce(),filter()的区别
转载请注明出处:https://www.cnblogs.com/shapeL/p/9057152.html 1.map():遍历序列,对序列中每个元素进行操作,最终获取新的序列 1 print(lis ...
- Swift-高阶函数如map,reduce,filter的一些总结
Swift 这个语言,速度快,更加安全,代码少,易于阅读维护. 所以一些高阶函数在项目实际使用中也是蛮方便的总结如下: 高阶函数的定义:一个函数如果可以以某个函数作为参数,或者返回值,那么这个函数就称 ...
- Python中常用的高阶函数
Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable) 过滤器 ...
- python高阶函数、map reduce 自己如何去定义_小猿圈python之高阶函数lambda、map和reduce用法...
python有很多内置函数,内置函数封装了很多功能,让我们用起来很方便,小猿圈针对高阶函数有详细的讲解视频,朋友们可以去看看,小编学后总结了一下,下面说一下lambda.map和reduce高阶函数的 ...
- 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 描述:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素.如果传入了多个iterable参数,function 必须接受相同个数的实参并被应用于从所有可迭 ...
- Python——四大内置高阶函数(map、reduce、filter、sorted)
一.map函数 基本介绍: map():接收两个参数,一个是函数,一个是序列 map将传入的函数依次作用到序列的每个元素,并把结果 作为新的序列返回 代码块: #对于序列[-1,3,-5,-2]的每个 ...
- python高阶函数、map reduce 自己如何去定义_「python」高阶函数map、reduce的介绍
Python map 先看官方介绍: map(function, iterable, ...)Return an iterator that applies function to every ite ...
- py函数式编程(高阶函数map/reduce/filter/sorted、闭包函数/返回函数、匿名函数lamber、@装饰器decorator、偏函数functool.partial())
#py函数式编程.py #高阶函数map/reduce/filter/sorted.闭包函数/返回函数.匿名函数lamber.@装饰器decorator.偏函数functool.partial()# ...
最新文章
- 计算机考试受苦受累,受苦受累真是福作文800字
- 【技术分享】如何解锁高通骁龙660上的安卓引导加载程序
- 我跟17位顶级游戏策划人学到的3个产品方法论
- 利用循环神经网络生成唐诗_11种主要神经网络结构图解
- c++对象的内存布局2--进阶篇---C++ 对象的内存布局(上)
- C++ 常用集合算法
- linphone-android移植
- 简单聊聊Python协程
- 用html代码写出城东早春,网页设计基础 从零开始构建HTML 页面 第2章 从零开始构建HTML页面_补充案例.doc...
- 数据结构笔记(二)--- 顺序实现线性表
- 用Matlab解MTPA的dq轴电流的方程
- 使用CURL抓取https网页报错的一种解决方法
- 使用RMF报表设计器进行报表设计
- opencv根据摄像头名称打开摄像头(附源码)
- 环境变量的作用,为什么要要设置环境变量PATH
- [原] 手擀寿面祝妈妈生日快乐
- ubuntu 系统声音静音问题
- UnityMesh 博文收藏
- MySQL的左连接查询,只取出最大的一条数据
- 关于物联网安全网关的思考
热门文章
- pandas移除dataframe字符串数据列中的后N个字符(remove the last n characters from values from column of dataframe)
- R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充、缺失值标识、离散变量独热onehot编码)、构建出生体重的xgboost模型回归模型
- R语言ggplot2可视化自定义图例实战:添加自定义的图例、添加填充色的图例
- unexpected symbol、unexpected end of input
- NLP诗词生成模型数据准备及实战
- 面向对象一类与对象的概念与特性
- oracle 257,ORACLE 10g SYSAUX表空间快速增长之WRH$_ACTIVE_SESSION_HISTORY篇
- jq处理 php数组,jQuery数组处理方法汇总_jquery
- tensorflow 转 numpy 转 tensorflow
- numpy 数组 填充 0、1和各种值