标签:lam iter 函数 匿名函数 for 匿名 分派 bsp eve
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)))
标签:lam iter 函数 匿名函数 for 匿名 分派 bsp eve
原文地址:https://www.cnblogs.com/amber-liu/p/9482691.html