2.python匿名函数:

    关键字lambda表示匿名函数,冒号前面的x表示函数参数。
    匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
    用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数
    可以带默认值c = lambda x,y=2: x+y #使用了默认值
    a = lambda *z:z    #*z返回的是一个元祖  
    c = lambda **Arg: Arg    #arg返回的是一个字典
    #lambda返回的值,结合map,filter,reduce使用
    filter(lambda x:x%3==0,[1,2,3,4,5,6])  #[3, 6]
    list(map(lambda x: x*x, [1, 2, 3]))  #[1, 4, 9]
    >>> L = [1,2,3,4]
    >>> sum = reduce(lambda x,y:x+y,L)
    >>> sum
    10

    >>> death = [ ('James',32),
    ('Alies',20),
    ('Wendy',25)]
    >>> sorted(death,key=lambda age:age[1]) #按照第二个元素,索引为1排序
    [('Alies', 20), ('Wendy', 25), ('James', 32)]
    
    sentence = "Welcome To Beijing!"
    words = sentence.split()
    print(words)
    print(list(map(lambda x: len(x), words)))
    
    #['Welcome', 'To', 'Beijing!']
    #[7, 2, 8]
    
    按照字典的value排序:
    a = {'abc': 5, 'def': 2, 'ghi': 3}
    d = sorted(a.items(), key=lambda x: x[1])
    print(d)
    #[('def', 2), ('ghi', 3), ('abc', 5)]

猜你喜欢

转载自blog.csdn.net/Wgb_0206/article/details/88620398
今日推荐