zoukankan      html  css  js  c++  java
  • Python 中的 map, reduce, zip, filter, lambda基本使用方法

    map(function, sequence[, sequence, ...]

    该函数是对sequence中的每个成员调用一次function函数,如果参数有多个,则对每个sequence中对应的元素调用function。

    返回值为一个列表

    如: def func(x): return x + 10;

             map(func, [1,2,3])

             输出为[11,12,13]

    又如: def func(x, y) : return x * 10 + y;

                map(func, [1,2], [3,4])

                输出为: [13, 24]

    第一个例子又可以写成:

            map(lambda x : x + 10, [1, 2, 3])

    第二个例子可以写成:

            map(lambda x, y : x * 10 + y, [1,2], [3,4])

    这就是lambda的基本使用方法,常用来定义短小的函数。


    reduce(function, sequence[, init]);

    如果没有init, reduce第一次是对sequence中的前两个元素调用function, 之后每次使用上一次返回的结果和sequnce中的下一个元素来调用function. 这里function是一个二元函数

    如: reduce (lambda x, y : x + y, [1, 2, 3])

            结果为: 6

    又如:reduce (lambda x, y : x + y, [1,2,3], 1)

            结果为:7


    filter(function or None, sequnce);

    这里的function是一个布尔函数,filter对每个sequnce中的元素调用function, 返回结果为真的元素,如果sequnce是tuple,string, 那么返回类型也为tuple或string, 否则返回一个list


    zip(seq1 [, seq2 [...]])                                  
    zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]  

    Return a list of tuples, where each tuple contains the i-th  
    element from each of the argument sequences.  The returned list is   truncated  in length to the length of the shortest argument sequence.

  • 相关阅读:
    C++ set简介及简单应用
    windows下安装scrapy报错:building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required.
    jsp调用Python脚本存取文件
    mysql触发器问题
    javascript调用alert()
    jsp调用Python
    注意细节,注意细节,注意细节
    pandas读取csv文件报错
    [kuangbin带你飞]专题四 最短路练习
    计算机网络之网络应用(应用层)上
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703163.html
Copyright © 2011-2022 走看看