zoukankan      html  css  js  c++  java
  • python3 之 匿名函数 Be

    一、语法:
        lambda 参数:方法(或三元运算) #最多支持3元运算

    二、实例1:基础
    1 #函数1:
    2 a = lambda x:x*x
    3 print(a(2))
    4 
    5 #函数2:
    6 def myfun(x):
    7     return x*x
    8 print(myfun(2))
    9 #上面2个函数等价,结果也相同

    三、实例2:三元运算

    #函数1:
    func = lambda x,y:x+y if x>y else x-y       #lamdba最多支持3元运算,再复杂的判断不支持
    print(func(3,2))
    
    #函数2:
    def myfun_1(x,y):
        if x>y:
            return x+y
        else:
            return x-y
    print(myfun_1(3,2))

    四、实例3:map函数结合使用,

        功能:列表里的元素实现自乘

    #普通方法
    a = [0,1,2,3,4,5,6,7,8,9]
    print(a)
    for index,i in enumerate(a):
        a[index] = i*i
    print(a)

    >>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    #map方法
    b = [0,1,2,3,4,5,6,7,8,9]
    print(b)
    print(list(map(lambda x:x*x,b)))

    >>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    note:map() 语法简介:

    #map()会根据提供的函数对指定序列做映射
    '''语法:
    map(function,iterable,...)
    参数:function——函数
        iterable—— 一个或多个序列
    返回值:迭代器
    作用:序列参数中的每一元素调用function函数,并将函数值返回给迭代器'''
    
    #实例1:列表中的元素实现自乘
    
    a = [0,1,2,3,4,5,6,7,8,9]
    print(map(lambda x:x*x,a))              #<map object at 0x000002CC988D29E8>
    print(list(map(lambda x:x*x,a)))        #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  • 相关阅读:
    POJ 2386 Lake Counting
    POJ 1852 Ants
    HDU 4570 Multi-bit Trie
    HDU 4611 Balls Rearrangement
    ZOJ 3551 Bloodsucker
    HEU 百题解1001 谁是中间的那个
    BNU 1001 北师大ACM新手指导/ICPC introduction(1)
    BOJ 1580 Shoot
    BOJ 1578 Maximum
    BOJ 1577 Easy Game
  • 原文地址:https://www.cnblogs.com/gengyufei/p/11316648.html
Copyright © 2011-2022 走看看