高阶函数 map,reduce, filter的用法

1. map 用法

 1 def fun_C(x):
 2     """求平方"""
 3     return x ** 2
 4
 5
 6 result = map(fun_C, my_list)
 7 print(list(result))
 8
 9 my_list1 = ["smith", "edward", "john", "obama", "tom"]
10
11
12 def f(d):
13     """将列表小写首字母转换为大写字母"""
14     return d[0].upper() + d[1:]
15
16
17 result1 = map(f, my_list1)
18 print(list(result1))

2. reduce 用法

对列表中的数字进行累加计算

需要使用 import functools 模块

 1 # reduce模块头文件
 2 import functools
 3
 4 my_list = [1, 2, 3, 4, 5, 6]
 5
 6 def sum(a, b):
 7     return a + b
 8
 9 ret = functools.reduce(sum, my_list)
10 print(ret)

3. filter 用法

filter() 函数用于过滤序列, 过滤掉不符合条件的元素, 返回一个 filter 对象, 如果要转换为列表, 可以使用 list() 来转换.

 1 my_list = [1, 2, 3, 4, 5, 6]
 2
 3
 4 def f(x):
 5     """过滤掉奇数"""
 6     return x % 2 == 0
 7
 8
 9 result = filter(f, my_list)
10 print(list(result))
11
12 my_list1 = ["smith", "Edward", "john", "Obama", "tom"]
13
14
15 def d(w):
16     """过滤掉列表中首字母为大写的单词"""
17     return w[0].isupper()
18
19
20 ret = filter(d, my_list1)
21 print(list(ret))

原文地址:https://www.cnblogs.com/SP-0306/p/10905951.html

时间: 2024-10-12 13:52:54

高阶函数 map,reduce, filter的用法的相关文章

python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程:是使用一系列函数去解决问题,函数式编程就是根据编程的范式来的出想要的结果,只要是输入时确定的,输出就是确定的. 1.2高阶函数 能把函数作为参数传入,这样的函数就称为高阶函数. 1.2.1函数即变量 以python的内置函数print()为列,调用该函数一下代码 >>> pri

JavaScript高阶函数 map reduce filter sort

本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 高阶函数 一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数 1.高阶函数之map: 此时我们有一个数组和一个接受一个参数并返回一个数的函数.我们需要把这个数组的每一个值在这个函数上走一遍,从而得到一个新数组.此时就需要map了 var a = [1,2,3,4,5,6]; var b = [] var fun = function(x) { return x * x; } b = a.map(fun) alert(b)  /

函数式编程 & Python中的高阶函数map reduce filter 和sorted

1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型.在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数.飞林沙 2)特点 计算视为视为函数而非指令 纯函数式编程:不需变量,无副作用,测试简单(每次的执行结果是一样的) 支持高阶函数,代码简洁 2. python支持

Python高阶函数_map/reduce/filter函数

本篇将开始介绍python高阶函数map/reduce/filter的用法,更多内容请参考:Python学习指南 map/reduce Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文"MapReduce: Simplified Data Processing on Large Clusters",你就能大概明白map/reduce的概念. 我们先看map.map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序

Python之高阶函数map/reduce

Python内建map()和reduce()函数 map()函数接收两个参数一个是函数一个是一个Iterable(迭代器),并把结果作为新的Iterator(生成器)返回 有一个函数f(x)=x*x作用于序列list[1,2,3,4,5,6,7,8,9] 使用python函数实现 >>> r=map(f,range(1,4)) >>> r <map object at 0x7fcec039ee80> >>> list(r) [1, 4, 9

python 高阶函数map/reduce

Python内建了map()和reduce()函数. map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 1 def f(x): 2 return x*x 3 r = map(f, [1,2,3,4,5,6]) 4 print(r) 5 print(list(r)) Output: <map object at 0x00000269FA005E10> [1, 4, 9, 16, 25, 36] re

Python 高阶函数map(),filter(),reduce()

map()函数,接收两个参数,一个是函数,一个是序列,map()把传入的函数依次作用于序列的每个元素,并把结果作为新的序列返回: aa = [1, 2, 3, 4, 5] print("map-result = ", list(map(lambda a: a * a, aa))) #map-result = [1, 4, 9, 16, 25] filter()函数,接收两个参数,一个是函数,一个是序列,filter()把传入的函数依次作用于每个元素,根据返回值是True还是False决

Python 高阶函数 -- map/reduce

这个内容我是参考廖雪峰的博客,摘抄其中一些内容而来的,附带解决他最后的问题代码. 这是我在C/C++中未曾见过的语法(可能是我学艺未精),理解它确实花了十来二十分钟.它提供了一条google的论文链接:"MapReduce: Simplified Data Processing on Large Clusters",据说是一篇很牛逼的文章.当我理解了这个概念后,觉得确实很方便. 先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列

Python学习之高阶函数——map/reduce

map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 即map(函数,Iteratable) map()传入的第一个参数是f,即函数对象本身.由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list. >>> def f(x): ... return x * x ... >>> r = map(f,

高阶函数 map/reduce页面习题

简单来说,map函数就是把数组元素一个一个取出来玩,reduce函数就是按顺序去前两个玩,玩完了把结果再和下一个元素放在一起玩. 1.利用reduce求积 'use strict'; function product(arr) { return arr.reduce(function(x,y){return x*y}); } // 测试: if (product([1, 2, 3, 4]) === 24 && product([0, 1, 2]) === 0 && prod