• 技术文章 >Python技术 >Python基础教程

    python中lambda的用法

    yfyf2020-05-12 17:48:58转载3104
    对于一个函数,只有一句话表示,那么就可以用lambda表达式表示,如:

    1

    2

    3

    def f(x):

    return x * x

    print(f(5))

    1

    out: 25

    可以写为:

    1

    2

    f = lambda x: x*x # 冒号左边为输入,右边是返回值,f是函数名

    print(f(5))

    1

    out: 25

    对于多个形式参数:

    1

    2

    g = lambda x,y: x+y # 冒号左边为输入,右边是返回值,f是函数名

    print(g(4,5))

    1

    out: 9

    lambda用到比较多的地方是排序,如:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    def get_four(my):

    return my[2]

    tuple_my = []

    file = open("file.csv", "r")

    for line in file:

    Line = line.strip()

    arr = line.split(",")

    one = arr[1]

    three = arr[3]

    four = int(arr[4])

    tuple_my.append( (one, three, four) )

    tuple_my.sort(key=get_four)

    for my in tuple_my:

    print(my)

    可以写为:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    get_four = lambda my: my[2]

    tuple_my = []

    file = open("file.csv", "r")

    for line in file:

    Line = line.strip()

    arr = line.split(",")

    one = arr[1]

    three = arr[3]

    four = int(arr[4])

    tuple_my.append( (one, three, four) )

    tuple_my.sort(key=get_four)

    for my in tuple_my:

    print(my)

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    tuple_my = []

    file = open("file.csv", "r")

    for line in file:

    Line = line.strip()

    arr = line.split(",")

    one = arr[1]

    three = arr[3]

    four = int(arr[4])

    tuple_my.append( (one, three, four) )

    tuple_my.sort(key=lambda my: my[2])

    for my in tuple_my:

    print(my)

    lambda也经常用在符合函数下,如:

    1

    2

    3

    4

    def quadratic(a, b, c):

    return lambda x: a*x*x*x + b*x*x + c*x

    f = quadratic(3, -2, 4)

    print(f(5))

    1

    345

    1

    2

    3

    def quadratic(a, b, c):

    return lambda x: a*x*x*x + b*x*x + c*x

    print(quadratic(3, -2, 4)(5))

    1

    345

    专题推荐:python lambda
    上一篇:python中的赋值方法 下一篇:在vscode中编写Python的详细步骤

    相关文章推荐

    • Python lambda表达式及用法• Python中reduce函数和lambda表达式的学习• Python中lambda表达式的优缺点及使用场景

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网