Python基础之第十三篇:map and filter

Python内建map和filter高阶函数,它们接收一个iterable对象(比如:列表)。

map接收两个参数,一个是函数,一个是iterable,map将传入的函数依次作用到iterable的每个元素,然后把结果作为新的iterable返回。

def add_six(x):
    return x+6

nums = [1,2,3,4,5,6,94]
result = list(map(add_six,nums))    #map函数返回的是一个iterator,是一个惰性序列,需要用iterable函数强制转换,例如:list,tuple..
print(result)

理所当然,也可以使用匿名函数lambda表达式来创建。

nums2 = [2,4,6,8,10]
result2 = list(map(lambda x:x+6,nums2))
print(nums2)

filter函数用于过滤序列,给定的函数返回一个boolean值(True 或者 Flase),根据是真还是假决定保留还是丢弃该元素。也就是一个判断条件。

nums3 = [3,6,9,11]
result3 = tuple(filter(lambda x:x%2 ==0,nums3)) #当x%2=0时,该成立的x值最终将会传给result3
print(result3)
原文地址:https://www.cnblogs.com/chenruhai/p/12464265.html