标签:
Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读。
下面对 Python 的 lambda、filter、map、reduce 进行初步的学习。
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。
lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数:
1 def f(i): # 用户自定义返回平方数 2 return i*i 3 print(f(3)) 4 5 g = lambda x : x*x # lambda 匿名函数 6 print(g(3))
lambda 函数和普通的函数相比,就是省去了函数名称,同时这样的匿名函数,不能共享在别的地方调用,也有很多别的方法能够代替lambda。
那是否 lambda 就没有必要了呢? 目前感觉上,lambda 在还是有以下优势的:
1. 省去定义简单函数的过程,快速定义单行的最小函数,让代码更加精简
2. 不需要复用的函数,无须定义函数名称
3. 和 filter map reduce 结合使用
lambda 类似于C语言中的宏,是从LISP借用来的;C#3.0开始,也有类似的表达式,关键字是=>,参考如下:
1 var array = new int[] {2, 3, 5, 7, 9}; 2 var result = array.Where(n => n > 3); // [5, 6, 9]
Python学习(五)函数 —— 内置函数 lambda filter map reduce
标签:
原文地址:http://www.cnblogs.com/feeland/p/4394492.html