高级函数
-
map
- 参数
func:一个函数 iter1:一个可迭代对象
- 使用:
from collections import Iterator lt = [1, 2, 3, 4, 5] def pingfang(x): return x * x # 返回一个迭代器 ret = map(pingfang, lt) # ret = map(lambda x: 2 * x, lt) print(isinstance(ret, Iterator)) print(list(ret))
-
filter
- 参数
function:过滤函数 iterable:可迭代对象
- 使用:
lt = [1, 2, 3, 4, 5] def oushu(x): return x%2 == 0 # f = filter(oushu, lt) f = filter(lambda x: x%2 != 0, lt) print(list(f))
-
reduce
- 参数
function:处理函数 sequence:序列(容器对象)
- 说明:
1.首先从序列中取出两个元素,作为处理函数的参数 2.处理完的结构与下一个元素进行使用处理函数处理 3.处理结束,将处理完的结果返回
- 使用:
from functools import reduce lt = [1, 2, 3, 4, 5] def add(a, b): return a + b # ret = reduce(add, lt) # 转换为12345 ret = reduce(lambda x, y: x * 10 + y, lt) print(ret)