zoukankan      html  css  js  c++  java
  • Python里的map、reduce、filter、lambda、列表推导式

    • Map函数:

    原型:map(function, sequence),作用是将一个列表映射到另一个列表,

    使用方法:

    def f(x):

        return x**2

    l = range(1,10)

    map(f,l)

    Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81]

    • Reduce函数

    原型:reduce(function, sequence, startValue),作用是将一个列表归纳为一个输出,
    使用方法:

    def f2(x,y):

        return x+y

    reduce(f1,l)

    Out[7]: 45

    reduce(f2,l,10)

    Out[8]: 55

    • Filter函数

    原型:filter(function, sequence),作用是按照所定义的函数过滤掉列表中的一些元素,
    使用方法:

    def f2(x):

        return x%2 != 0

    filter(f2,l)

    Out[5]: [1, 3, 5, 7, 9]

    记住:这里的function必须返回布尔值。

    • Lambda函数

    原型:lambda <参数>: 函数体,隐函数,定义一些简单的操作,
    使用方法:

    f3 = lambda x: x**2

    f3(2)

    Out[10]: 4

    还可以结合map、reduce、filter来使用,如:

    map(f3,l)

    Out[11]: [1, 4, 9, 16, 25, 36, 49, 64, 81]

    • 列表推导式

    基本形式:[x for item in sequence <if (conditions)>], 这里x表示对item的操作,

    使用方法:

    [i**2 for i in l]

    Out[12]: [1, 4, 9, 16, 25, 36, 49, 64, 81]

    • 字典设置默认值

    python字典中设置条目默认值在有些时候非常有用,例如初始化一个字典的时候。
    使用方法:

    x = {}

    x.setdefault(1,0)

    Out[15]: 0

    x[2] = 10

    x

    Out[17]: {1: 0, 2: 10}

    x.setdefault(2,1)

    Out[18]: 10

    作者:Alex Yu 
    出处:http://www.cnblogs.com/biaoyu/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    174. Dungeon Game
    240. Search a 2D Matrix II
    300. Longest Increasing Subsequence
    test markdown style
    多源多汇费用流——poj2516
    费用流消圈算法(构造残量网络)
    费用流模板(带权二分图匹配)——hdu1533
    最大流模板——进阶指南整理
    最大流任务调度+离散化——hdu2883
    最大流拆点——hdu2732,poj3436
  • 原文地址:https://www.cnblogs.com/timlong/p/5573371.html
Copyright © 2011-2022 走看看