①lambda函数
f1=lambda a : 'A' if a=1 else 'B' f1(1.0)②map函数 map()方法将一个函数映射到序列的每一个元素上,生成新的序列,包含所有函数返回值。序列的每一个元素都被当成一个x变量,放到一个函数(x)里,其结果是f(x1),f(x2),…组成新的序列。 例如:
items[1,2,3,4,5,6,] def f(x): return x**2 map(f,items) print(map(f,items)) #返回值为 <map object at 0x0000000004F0FF08> list(map(f,items)) 返回值为 [1, 4, 9, 16, 25,36]上述两个函数的结合: map(lambda x:x**2,items)
③reduce函数 在迭代序列的过程中,首先把前两个元素(只能两个)传给函数,函数加工后,然后把得到的结果和第三个元素作为参数传递给函数参数,以此类推。
from functools import rduce reduce(func,iterable) 参数为函数和可迭代序列 例如: list=[1,2,3,4,5,6,7,7,8,8] def func(x,y): retnrun x+y result=reduce(f,list)④filter函数 用于过滤函数,过滤掉不符合条件的函数返回符合条件元素组成的序列。
ltems=[1,2,3,4,'2323','iner','-34.56',45,7,-9] result=list(filter(lambda x: 1/true if isinstance(x,int) else 0/false ,items)) def is_int(x): if isinstance(x,int): return True ----返回true的保留 else: return False----返回false的不保留 result=list(filter(is_int,items)) print(result)