这里主要介绍 2 个函数: map, filter
1,map 函数
通过查看源码发现, map 函数接收两个参数, 分别是函数和可迭代对象. map 将函数依次作用于可迭代对象的每次元素, 即可简单的实现复杂的功能
- # 将输入的字符串类型的数据转化为 浮点型数据并返回
- map(float, input("请输入数字:").split(","))
第一个参数可以自定义
- # 通过自定义函数, 将 list 中的元素都加 1
- def f(x):
- return x + 1
- list = [2,3,4,5,6]
- map(f, list)
2,filter 函数
filter 函数的功能和 map 函数类似, 但是具有筛选功能, 即根据返回值为 True 还是 False 来决定保留还是丢弃某个元素, 可以理解为返回满足函数条件的元素
这里贴上源码解释:
- filter(function or None, iterable) --> filter object
- Return an iterator yielding those items of iterable for which function(item)
- is true. If function is None, return the items that are true.
我们来看一个例子:
- def is_even(n):
- return n % 2 == 0
- filter(is_even, [1, 2, 4, 5, 6, 9, 10, 15])
结果:[2,4,6,10]
来源: http://www.bubuko.com/infodetail-2879994.html