**
lambda匿名函数是是一个表达式,是指无需定义函数名的子程序,使用比函数简单
**
lambda表达式的格式为:lambda 参数:表达式
lambda [arg [,arg1,.......]]:expression
1.lambda函数实例
#1.使用lambda函数实现3个数的乘法
mult =lambda x,y,z:x*y*z #120
print(mult(4,5,6))
2…lambda在map和reduce中的应用
#1.map函数接收两个参数,第一个是函数或表达式,第二个是迭代参数
print(list(map(lambda x:x*x,range(1,10)))) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
#2.reduce也接收两个参数,一个是函数,一个是变量
import functools
print(functools.reduce(lambda x,y:x+y,range(1,100))) #从1加到99
#判断哪个数字大小
num=1,2,3,4,5,6,7,8,9
print(list(map(lambda num:3<num<8,num))) #返回bool型 [False, False, False, True, True, True, True, False, False]
print(list(filter(lambda num:3<num<8,num))) #返回数值
#过滤出100内的偶数
print(list(filter(lambda x:x%2==0,range(101))))
3.在机器学习中,往往要对数据集的选择性输入,过滤出不必要的数据
#使用lambda过滤出数据集中所需要的列
with open("C:/Users/Administrator/Desktop/xiaoliang.csv") as file:
tt = csv.reader(file) #读取CSV文件
xx = next(tt) #去除表头
# for i in tt:
# print(i)
print(xx)
print(next(tt))
a = lambda tt:tt[0:3:2]
print(a(xx))
for j in tt:
b = lambda jj:jj[0:3:2]
print(b(j))
实际输出:
[‘年份’, ‘销量/年’, ‘单价’, ‘排名’] #不经过处理的数据
[‘2013’, ‘58000’, ‘100’, ‘1’]
[‘年份’, ‘单价’]
[‘2014’, ‘120’]
[‘2015’, ‘110’]
[‘2016’, ‘120’]
[‘2017’, ‘150’]