1, lambda 匿名函数
lambda 参数: 返回值
函数名统一都叫lambda.
def func(n): return n * n ret = func(9) print(ret) # 匿名函数, 语法: lambda 参数: 返回值 a = lambda n : n * n ret = a(9) print(ret) b = lambda x: x+1
2, sorted() 排序函数
排序函数
sorted(iterable, key, reverse)
key: 排序规则.
运行流程: 把可迭代对象中的每一个元素交给后面key函数来执行.
得到一个数字(权重). 通过这个数字进行排序
lst = [ {‘name‘:"amber","age":48}, {"name":"icy",‘age‘:38}, {"name":"tony","age":39}, {"name":"snow","age":32}, {"name":"toky","age":28} ] print(sorted(lst,key=lambda a:a[‘age‘])) #key和lambda匿名函数搭配使用
3. filter() 过滤函数
filter(function, iterable)
把可迭代对象中的每一个元素交给前面的函数进行筛选. 函数返回True的保留,返回False的过滤掉
lst = ["张无忌", "张铁林", "赵一宁", "石可心","马大帅"] #除掉姓张的 def func(el): if el[0] == ‘张‘: return False # 不想要的 else: return True # 想要的 #下面使用匿名函数 f =filter(lambda a:a[0]!=‘张‘,lst) # 将lst中的每一项传递给func, 所有返回True的都会保留, 所有返回False都会被过滤掉 print("__iter__" in dir(f)) # 判断是否可以进行迭代 for e in f: print(e)
4. map() 映射函数
map(function, iterable)
把可迭代对象中的数据交给前面的函数进行执行. 返回值就是map的处理结果
m = map(lambda el: el**2, lst) # 把后面的可迭代对象中的每一个元素传递给function, 结果就是function的返回值 print(list(m))处理
海量数据,分派任务,分而治之
map(func1, map(func2, map(func3 , lst)))
原文:https://www.cnblogs.com/amber-liu/p/9482691.html