lambda函数
*
lambda是一种表达式,创建内嵌的简单匿名函数
filter函数的使用
*
返回一个列表,其中包含对其执行函数时结果为真的所有元素
*
filter(func,seq)
//通过参数2给filter函数一组内容,通过参数1把不需要的过滤掉
def f(n):
//判断给定的数是不是奇数
return n % 2 != 0
def use_filer(l):
//获取指定列表/元组中的奇数
# rest = filter(lambda n: n % 2 != 0, l)
//上面的方法是用lambda函数实现,和用一般的函数结果一样,但是节省了部分代码量.
rest = filter(f,l)
return rest
if __name__ == '__main__':
l = [1,2,3,4,5,6,7,8,9,10,11]
rest = use_filer(l)
print(list(rest))
map函数的使用
*
创建一个列表,其中包含对指定序列包含的项执行指定函数返回的值
*
map(function, sequence,...)
def pow_number(l):
//根据给定的列表数据,计算里面每一项的立方
//l:list/type int类型的列表或者是元组
//return:原来列表中每一项的立方
rest_list=[]
for x in l:
rest_list.append(x * x * x)
return rest_list
//以上为第一种方法
def f(n):
//求给定数的立方
return n * n * n
def pow_num_use_map(l):
//使用map函数计算给定列表的每一项立方
//l:list/type int类型的列表或者是元组
//return:原来列表中每一项的立方
return map(f, l)
//以上为第二种方法用map函数实现
def pow_num_use_lambda(l):
//使用map函数\lambda表达式计算给定列表的每一项立方
//l:list/type int类型的列表或者是元组
//return:原来列表中每一项的立方
return map(lambda(n: n * n* n, l))
if __name__ == '__main__':
l = [1,2,3,4,5,6,7,,9]
rest = pow_number(l)
rest_map = pow_num_use_map(l)
rest_lambda = pow_num_use_lambda(l)
reduce函数
////四种实现方法,根据给定的列表,求里面各个数字的总和
def get_sum(l):
//根据给定的列表,求里面各个数字的总和
rest = 0
for i in l:
rest += i
return rest
//第二种方法
def get_sum_use_py(l):
//使用python内的sum()进行求和
return sum(l)
//第三种方法
def f(m,n):
return m + n
def get_sum_use_reduce(l):
return reduce(f,l)
//第四种方法
def get_sum_use_lambda(l):
return reduce(lambda(m,n: m + n, l)
if __name__ == '__main__':
l = [1,3,5,6,7,9]
rest = get_sum(l)
print(rest)
网友评论