zoukankan      html  css  js  c++  java
  • python map、reduce、filter用法

    map

    map() 会根据提供的函数对指定序列做映射

    map(function, iterable, ...)
    参数:
      function:函数
      iterable:一个或多个序列

    list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) #[1, 4, 9, 16, 25]
    list(map(lambda x,y: x + y, [1, 2, 3, 4, 5],[2,3,4,5,6])) #[3, 5, 7, 9, 11]

     reduce

    reduce(function, iterable[, initializer])
    参数:
      function:函数,有两个参数
      iterable :可迭代对象
      initializer :可选,初始参数

    #!/usr/bin/python
    from functools import reduce
    def add(x, y) :            # 两数相加
        return x + y
    sum1 = reduce(add, [1,2,3,4,5])   # 计算列表和:1+2+3+4+5
    sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函数
    print(sum1) #15
    print(sum2) #15
    

    filter

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换,该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

    filter(function, iterable)
    参数:
      function :判断函数。
      iterable :可迭代对象。

    >>> filter(lambda x:x%2==0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    [2, 4, 6, 8, 10]
    

      

  • 相关阅读:
    NOIP1998提高组——挖地雷
    模板——EXBSGS
    vue 知识点
    jq_js
    ruby 基础知识(一)
    idea maven pom配置文件
    .net core dapper (5)
    .net core dapper (4)
    .net core dapper (3)
    .net core dapper (2)
  • 原文地址:https://www.cnblogs.com/boye169/p/14521451.html
Copyright © 2011-2022 走看看