1 过滤器 2 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 3 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 4 语法 5 以下是 filter() 方法的语法: 6 filter(function, iterable) 7 参数 8 function -- 判断函数。 9 iterable -- 可迭代对象。 10 返回值 返回一个迭代器对象 11 def is_odd(n): 12 return n%2==1 13 tmplist=filter(is_odd,list(range(1,11))) 14 tmplist=list(tmplist) 15 print(tmplist) #[1, 3, 5, 7, 9] 16 17 过滤出1-100中平方根是整数的数 18 import math 19 def _is_sqr(x): 20 return math.sqrt(x)%1==0 21 tmplist=filter(_is_sqr,range(1,101)) 22 newlist=list(tmplist) 23 print(newlist) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 24 25 26 映射器 27 描述 28 map() 会根据提供的函数对指定序列做映射。 29 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 30 语法 31 map() 函数语法: 32 map(function, iterable, ...) 33 参数 34 function -- 函数 35 iterable -- 一个或多个序列 36 返回值 37 Python 2.x 返回列表。 38 Python 3.x 返回迭代器。 39 40 def square(x): 41 return x**2 42 print(list(map(square,list(range(1,6))))) #[1, 4, 9, 16, 25] 43 44 print(list(map(lambda x:x**2,[1,2,3,4,5]))) #[1, 4, 9, 16, 25] 45 46 提供了两个列表,对相同位置的列表数据进行添加 47 print(list(map(lambda x,y:x+y,[1,3,5,7,9],[2,4,6,8,10]))) #[3, 7, 11, 15, 19] 48 49 50 51 累积器 52 描述 53 reduce() 函数会对参数序列中元素进行累积。 54 函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。 55 语法 56 reduce() 函数语法: 57 reduce(function, iterable[, initializer]) 58 参数 59 function -- 函数,有两个参数 60 iterable -- 可迭代对象 61 initializer -- 可选,初始参数 62 返回值 63 返回函数计算结果。 64 from functools import reduce 65 def add(x,y): 66 return x+y 67 print(reduce(add,[1,2,3,4,5])) #15 68 69 print(reduce(lambda x,y:x+y,[1,2,3,4,5])) #15
70 转自菜鸟教程 www.runoob.com
原文:https://www.cnblogs.com/zpdbkshangshanluoshuo/p/10486399.html