课程名称
全能软件测试工程师
课程章节
Python高级函数
课程讲师
大周
课程内容
lambda表达式
可以使用lambda关键字创建小型匿名函数(太复杂的搞不定)。
这个函数返回其两个参数的和:lambda a, b: a+b
。Lambda函数可以在任何需要函数对象的地方使用。
- lambda 是一个关键字
- 冒号前面是这个函数的参数
- 冒号后面是这个函数的运算逻辑
map函数
map函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。
map(function, iterable, ...)
示例:
# map函数练习 給列表中的每个值加1
case_list1 = [2, 8, 25, 10, 19]
# 1:使用map函数
print(list(map(lambda e:e+1,case_list1)))
# 2:使用for循环
tmp_list = []
for i in case_list1:
i += 1
tmp_list.append(i)
print(tmp_list)
# 3:使用函数
def cals_area(r):
return 3.14 * r * r
result_list = map(cals_area,case_list1)
print(list(result_list))
reduce函数
reduce()函数将两个参数的 function 从左至右积累地应用到 iterable 的条目,以便将该可迭代对象缩减为单一的值。
functools.reduce(function, iterable[, initializer])
例如,reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
是计算((((1+2)+3)+4)+5)
的值。 左边的参数 x 是积累值而右边的参数 y 则是来自 iterable 的更新值。 如果存在可选项 initializer
,它会被放在参与计算的可迭代对象的条目之前,并在可迭代对象为空时作为默认值。 如果没有给出 initializer 并且 iterable 仅包含一个条目,则将返回第一项。
示例:
# 写法1
from functools import reduce
case_list2 = [1,2,3,4]
def tmp_function(x,y):
return x + y
result = reduce(tmp_function,case_list2)
print(result)
# 写法2
print(reduce(lambda x,y:x+y,case_list2))
filter函数
filter函数:用 iterable
中函数 function
返回True的那些元素,构建一个新的迭代器。
filter(function, iterable)
示例:
# filter()函数
case_list3 = ['a','A','b']
# 只返回小写元素 ['a','b']
print(list(filter(lambda x: x == x.lower(), case_list3)))
课程收获
通过对python常见的高阶函数的学习和练习,已经初步掌握各高阶函数的含义和语法,希望日后中能够经常使用,提高工作效率。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦