1.python函数式编程-map函数
编程方法论
- 面向过程
- 函数式
- 面向对象
面向过程
将编程过程拆分成多个步骤,在函数中按照每个步骤进行编程;
函数式编程
编程语言定义的函数+数学意义的函数
1、不可变,不用变量保存状态,不修改变量;
2、第一类对象,函数即变量---------高阶函数:把函数当做参数传递给另外一个函数;返回值中包含函数。(装饰器)
3、尾调用:在函数的最后一步调用另外一个函数(最后一行不一定是函数的最后一步)
调用栈:在系统调用递归函数的时候不是最后一步(区别最后一行),则需要保留当前层的状态。如果是最后一步进入递归,则不用保留当前层状态,性能更强。(递归函数的优化则需要进入尾调用,进入尾递归)
函数:
map:处理序列中的每个元素,得到的结果是一个“列表”,该“列表”元素个数及位置与原来一样
filter:遍历序列中的每个元素,判断每个元素得到的布尔值,如果是True则留下来
reduce:将多个数值合并到一块
map函数
将方法和要处理的数据通过参数传入函数中,在函数调用的时候可以指定不同的方法,方法更加灵活。
num_1 = [1,2,3,10,5,7,9]
def mapfunc(func,array):
ret = []
for i in array:
ret.append(func(i))
return ret print(mapfunc(lambda x:x+1,num_1)) #执行自增加一
print(mapfunc(lambda x:x**2,num_1)) #执行二次方
执行结果:
[2, 3, 4, 11, 6, 8, 10]
[1, 4, 9, 100, 25, 49, 81]
map函数
num_1 = [1,2,3,10,5,7,9]
res = map(lambda x:x+1,num_1) #res为迭代器,只能调用一次,一般使用list方法来查看迭代器的值
print(res)
print(list(res))
执行结果:
<map object at 0x000001F93A610160>
[2, 3, 4, 11, 6, 8, 10]
1.python函数式编程-map函数的更多相关文章
- (转)Python函数式编程——map()、reduce()
转自:http://www.jianshu.com/p/7fe3408e6048 1.map(func,seq1[,seq2...]) Python 函数式编程中的map()函数是将func作用于se ...
- Python函数式编程——map()、reduce()
文章来源:http://www.pythoner.com/46.html 提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理 ...
- Python函数式编程-map/reduce
1.map map()传入的第一个参数是f,即函数对象本身. map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...
- python函数式编程-偏向函数
Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲到,通过 ...
- python函数式编程-匿名函数
>>> map(lambda x: x * x, [, , , , , , , , ]) [, , , , , , , , ] 关键字lambda表示匿名函数,冒号前面的x表示函数参 ...
- python函数式编程——返回函数
1.函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 2.闭包 注意到返回的函数在其定义内部引用了局部变量args,所以,当一个函数返回了一个函数后,其内部的局部变量还 ...
- python函数式编程——匿名函数(lambda)
匿名函数lambda lambda x:x*x x就是参数 相当于函数 def f(x): return x*x 匿名函数可以作为函数对象赋值给变量: >>> f = lambda ...
- python 函数式编程:高阶函数,map/reduce
python 函数式编程:高阶函数,map/reduce #函数式编程 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 #(一)高阶函数 f=abs f print ...
- python函数式编程之返回函数、匿名函数、装饰器、偏函数学习
python函数式编程之返回函数 高阶函数处理可以接受函数作为参数外,还可以把函数作为结果值返回. 函数作为返回值 def laxy_sum(*args): def sum(): ax = 0; fo ...
随机推荐
- Teams UVA - 11609
题意就不多说了这个小规律不算难,比较容易发现,就是让你求一个数n*2^(n-1):很好想只是代码实现起来还是有点小困(简)难(单)滴啦,一个快速幂就OK了: 代码: #include<stdio ...
- [osg]osgcallback各种回调使用的例子介绍
观察MyReadFileCallback结构体的内容,可以发现它继承自osgDB::Registry::ReadFileCallback,并重载了一个函数readNode,分析源代码可知,该函数在os ...
- Android自定义权限
一.自定义权限 自定义权限,一般是考虑到应用共享组件时的安全问题.我们知道在四大组件 AndroidManifest 中注册的时候,添加 exported = "true" 这一属 ...
- python3.5学习第二章(1)标准库,bytes
一.输出python库的路径: 1.sys标准库 import sysprint(sys.path) 结果: 'E:\\python练习\\python35学习\\Day2', 'E:\\python ...
- leecode第二十六题(删除排序数组中的重复项)
class Solution { public: int removeDuplicates(vector<int>& nums) { int len=nums.size(); ) ...
- Windows 操作系统与内核版本号
Win10查询内部版本(内核版本)的方法:1.按下Win+R组合键启动“运行”窗口,输入“msconfig”并确定2.在“系统配置”窗口中点击“工具”标签,选择“关于Windows”一项后点击“启动” ...
- 完全二叉树的节点个数 Count Complete Tree Nodes
2018-09-25 16:36:25 问题描述: 问题求解: 单纯遍历了一遍,emmm,果然TLE. 解题思路就是比较左边树高度和右边树高度,如果相等,那么就是一个满二叉树,返回1 << ...
- C# 测试代码段性能耗时
一: DateTime BeginTime = System.DateTime.Now; //代码 DateTime EndTi ...
- 怎样在winform中上传图片
http://jingyan.baidu.com/article/b7001fe157d6b60e7382dd7f.html 因为WinForm都是运行在本地的,而我们的网站一般都是布署在服务器上,运 ...
- You Don't Know JS: this & Object Prototypes( 第一章 this or That?)
Foreword this 关键字和prototypes 他们是用JS编程的基础.没有他们创建复杂的JS程序是不可能的. 我敢说大量的web developers从没有建立过JS Object,仅仅对 ...