python之内置函数(map,fillter,reduce)

  •  

    • map,循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回。

      v1 = [11,22,33,44]
      result = map(lambda x:x+100,v1)
      print(list(result)) # 特殊
    • 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   对序列中的所有元素进行累计操作

      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)
posted @ 2020-06-05 23:39  Mr_zho  阅读(134)  评论(0编辑  收藏  举报