几个特殊的函数(待补充)
python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter、map、reduce、lambda、yield
lambda
1 2 3 4 5 |
|
lambda函数的使用方法:
在lambda后面直接跟变量
变量后面是冒号
冒号后面是表达式,表达式计算结果就是本函数的返回值
冒号后面是表达式,表达式计算结果就是本函数的返回值
比如,要打印一个list,里面依次是某个数字的1次方,二次方,三次方,四次方。用lambda可以这样做:
1 2 3 4 5 |
|
map
map()是python的一个内置函数,它的基本样式是:
map(func,seq)
func是一个函数,seq是一个序列对象。在执行的时候,序列对象中的每个元素,按照从左到右的顺序,依次被取出来,并放入
到func那个函数里面,并将func的返回值依次存到一个list中。如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
要点:
对iterable中的每个元素,依次应用function的方法(本质上就是一个for循环)
将所有结果返回一个list
如果参数很多,则对那些参数并行执行function
继续下面两个例子:
1 2 3 4 |
|
1 2 3 4 5 |
|
可以看到map函数的强大和简洁。如果使用for循环将会很繁琐
reduce
直接看例子:
1 2 |
|
reduce函数的计算方式是将列表中的元素累加,((((1+2)+3)+4)+5)=15 与map函数相比较就可以看出两者之间的区别。map是上下运算,reduce是横着逐个元素进行运算。
reduce含可以接受第三个值作为初始值:例如
1 2 |
|
上述列表中计算将以100为初始值执行累加计算,先计算 100+1
filter
filter的中文含义是“过滤器”,在python中,它就是起到了过滤器的作用.
通过下面代码体会:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
拜读下filter的官方文档解释:
1 2 3 4 5 6 |
|
总结
以上就是本文关于简单了解Python中的几种函数的全部内容