【python笔记】高阶函数map、filter、reduce
前言
map()、reduce()、filter()是python的三个高阶函数。所谓高阶函数,指的是将函数作为参数并返回函数作为结果的函数。下面代码的sing_ready只是一个简单高阶函数示例:
def ready(name):
return f"ready,{name}!"
def sing_ready(f,n):
print(f(n))
sing_ready(ready,"freddie")
# ready,freddie!
map函数
map()函数接收一个函数和一系列可迭代对象作为参数,并将函数作用于可迭代对象中的每个元素后输出。示例如下:
# 语法:map(函数,可迭代对象)
def f1(a:int) -> int:
return a*a
print(list(map(f1,[i for i in range(10)])))
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
也可以使用lambda匿名函数实现相同功能
print(list(map(lambda x:x*x,[i for i in range(10)])))
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
filter函数
filter()函数,顾名思义,具有”筛选“功能,用于生成在调用其它函数时返回为true的值的列表。示例如下:
# 语法:filter(函数,可迭代对象)
# 筛选偶数
def f2(a:int) -> int:
return a%2 == 0
print(list(filter(f2,[i for i in range(10)])))
# [0, 2, 4, 6, 8]
# 或使用lambda匿名函数
print(list(filter(lambda x: x%2==0,[i for i in range(10)])))
# [0, 2, 4, 6, 8]
reduce函数
reduce,意”减少“。reduce(function,iterable)对iterable中每个元素以及上一次调用的返回结果,调用function进行处理。
在python2中,reduce()是内置函数。在python3中,需要from functools import reduce。
示例:
from functools import reduce
print(reduce(lambda a,b:a+b, [i for i in range(6)]))
# 15
## 0 + 1 + 2 + 3 + 4 + 5 = 15
【python笔记】高阶函数map、filter、reduce的更多相关文章
- 高阶函数-map/filter/reduce
什么样的函数叫高阶函数: 条件:1.函数接受函数作为参数 2.函数的返回值中包含函数 高阶函数之----map函数 map(func, *iterables) --> map objectnum ...
- python的高阶函数(map,filter,sorted,reduce)
高阶函数 关注公众号"轻松学编程"了解更多. 1.MapReduce MapReduce主要应用于分布式中. 大数据实际上是在15年下半年开始火起来的. 分布式思想:将一个连续的字 ...
- 高阶函数map(),filter(),reduce()
接受函数作为参数,或者把函数作为结果返回的函数是高阶函数,官方叫做 Higher-order functions. map()和filter()是内置函数.在python3中,reduce()已不再是 ...
- python之高阶函数--map()和reduce()
以下为学习笔记:来自廖雪峰的官方网站 1.高阶函数:简单来说是一个函数里面嵌入另一个函数 2.python内建的了map()和reduce()函数 map()函数接收两参数,一个是函数,一个是Iter ...
- [ Python - 9 ] 高阶函数map和reduce连用实例
1. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functools import reduce def str2num( ...
- 高阶函数map,filter,reduce的用法
1.filter filter函数的主要用途是对数组元素进行过滤,并返回一个符合条件的元素的数组 let nums = [10,20,30,111,222,333] 选出nums中小于100的数: l ...
- Python高阶函数map、reduce、filter、sorted的应用
#-*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.support.wait import Web ...
- python学习笔记1 -- 函数式编程之高阶函数 map 和reduce
我用我自己,就是高阶函数,直接表现就是函数可以作为另一个函数的参数,也可以作为返回值 首先一个知识点是 函数的表现形式,印象中的是def fw(参数)这种方式定义一个函数 python有很多的内置函 ...
- python之高阶函数map/reduce
L = [] for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]: L.append(f(n)) print(L) Python内建了map()和reduce()函数. 我们先看 ...
- python学习笔记——高阶函数map()
满足以下两点中任意一点,即为高阶函数: 1.函数接收一个或多个函数作为参数 2.函数返回一个函数 1 描述 用函数和可迭代对象中每一个元素作为参数,计算出新的迭代对象 map() 会根据提供的函数对指 ...
随机推荐
- Axure 手机页面拖动效果
1.设置好上下固定们,中间放一个动态面板,如下图所示,(刚开始创建是没有图片的) 2.再状态1下再创建一个动态面板 命名为D2,如下图所示 3.在D2的状态1下新建一个宽370(大概手机宽)高1100 ...
- 2023-05-11:给你一个 m x n 的二进制矩阵 grid, 每个格子要么为 0 (空)要么为 1 (被占据), 给你邮票的尺寸为 stampHeight x stampWidth。 我们想将
2023-05-11:给你一个 m x n 的二进制矩阵 grid, 每个格子要么为 0 (空)要么为 1 (被占据), 给你邮票的尺寸为 stampHeight x stampWidth. 我们想将 ...
- 2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f
2022-10-28:以下go语言代码输出什么?A:false false:B:true false:C:true true:D:false true. package main import &qu ...
- 2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点。给定一个正数K,代表绳子的长度。返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住。
2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点.给定一个正数K,代表绳子的长度.返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住. 福大大 答案2021-05-01: 滑动窗口 ...
- PLSQL一些常用的知识点
1.背景 此处简单的记录一下在 oracle中如何使用plsql语法,记录一些简单的例子,防止以后忘记. 2.变量的声明 declare -- 声明变量 v_name varchar2(20); -- ...
- Netty(1)——NIO基础
本篇主要介绍Java NIO的基本原理和主要组件 Netty是由JBOSS提供的Java开源网络应用程序框架,其底层是基于Java提供的NIO能力实现的.因此为了掌握Netty的底层原理,需要首先了解 ...
- javascript中的错误类型
javascript 中的错误类型: SyntaxError TypeError ReferenceError RangeError URLError Error SyntaxError 语法错误 / ...
- 神经网络初步(Neural Network)——思想 具体实例以及代码实现
在前面我们详细的讨论过softmax损失函数以及SVM损失函数,以及应用了支持向量机进行图片分类的任务,不妨先复习一下支持向量机相关的思想内核:支持向量机想要寻求一组映射关系f(x)=wx+b,先将每 ...
- 【前端方案】-表格排序列LRU缓存方案
目标: 排序后的表格列,页面刷新或者用户重新登录后,能够保持之前的操作排序 完成效果: 解决方案: 利用localstorage对排序后的表格列属性进行存储,页面刷新或者用户重新进入该页面时都先从lo ...
- Kafka的系统架构和API开发
系统架构 主题topic和分区partition topic Kafka中存储数据的逻辑分类:你可以理解为数据库中"表"的概念:比如,将app端日志.微信小程序端日志.业务库订单表 ...