00 map filter(过滤) reduce
循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回。
v1 = [11,22,33,44]
result = map(lambda x:x+100,v1)
print(list(result)) # 返回特殊,如果想看返回的内容,Python通过list 进行转换
filter (过滤)
v1 = [11,22,33,'asd',44,'xf']
def func(x):
if type(x) == int:
return True
return False
result = filter(func,v1) # [11,]
print(list(result))
result = filter(lambda x: True if type(x) == int else False ,v1) #等价
print(list(result))
result = filter(lambda x: type(x) == int ,v1) #等价
print(list(result))
reduce p132
需要导入
import functools
functools.reduce(函数, v1)
import functools #示列表中数字相乘,相加,将列表中的字符进行相接接
v1 = ['wo','hao','e']
def func(x,y):
return x+y
result = functools.reduce(func,v1)
print(result)
result = functools.reduce(lambda x,y:x+y,v1)
print(result)