Python3基础

map and filter

2019-03-29  本文已影响0人  python_me

我的CSDN博客https://blog.csdn.net/qq_42658739

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)
上一篇 下一篇

猜你喜欢

热点阅读