高级函数
map
- 功能及参数
参数: func:一个函数 iter1:一个可迭代对象 功能:使用func函数依次作用域iter1中的每个元素,返回一个迭代器
- 示例:
from collections import Iterator lt = [1, 2, 3, 4, 5] m = map(lambda x: x*x, lt) print(m) # 结果是map对象,是一个迭代器 print(isinstance(m, Iterator)) for i in m: print(i)
filter
- 功能及参数
参数: function:一个函数 iterable:一个可迭代对象 功能: 使用function函数依次作用于iterable中的每个元素,返回的迭代器中会保留处理结果为真的数据
- 示例:
from collections import Iterator lt = [1, 2, 3, 4, 5] f = filter(lambda x: x % 2 == 0, lt) print(f) # 返回一个迭代器,保留处理结果为True的元素 print(isinstance(f, Iterator)) for i in f: print(i)
reduce
- 功能及参数
参数: function:一个函数 sequeue:一个序列 功能 首先从序列中提取两个元素,使用function函数处理,处理完的结果与下一个元素再次使用function函数处理,依次递归进行下去,直到序列结束,最后返回处理完的结果。
- 示例:
from functools import reduce lt = [1, 2, 3, 4, 5] # result = reduce(lambda x, y: x+y, lt) result = reduce(lambda x, y: 10*x+y, lt) print(result)
练习
- 使用map函数解决
- 将一个元素全是字符串的列表进行处理,去掉字符串前后的空白,将字符串的首字母大写
- 使用filter函数解决
- 对于一个列表进行处理,列表中什么元素都有,保留长度大于3的字符串
- 使用reduce函数解决
- 求一个列表中所有元素的乘积,列表元素全是整数
- 使用递归,完成传入n,返回:1! + 2! + ... + n!
- 歌词解析:解析成一个时间戳对应一句歌词的形式,封装函数(根据时间返回歌词)
标签: python
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~