• 5.匿名函数lambda


    • 匿名函数的意思就是不用def定义,并且这个函数也没有名字
      注意 lambda是个表达式(一行的是表达式),不是代码块
    • lambda也有形参,并且只能访问,并且lambda只能访问自己的形参数据
    1. 封装一个函数做加法运算,和普通函数和lambda对比
    def add(x, y):
        return x + y
    
    
    print(add(2, 3))
    
    1. 把普通函数改成lambda表达式封装
    res = lambda x, y: x + y
    print(res(3,4))
    E:\python3810\python.exe D:/py/test/gao/匿名函数.py
    7
    
    1. 普通函数和lambda分支结构使用对比
    • 普通函数
    def func(sex):
        if sex == "男":
            return "sb"
        return "nice"
    
    res = func("男")
    print(res)
    
    • lambda表达式
          lambda 参数列表: 真区间    if  表达式判断   else 假区间
    res = lambda sex :   "sb"     if sex == "男" else "nice"
    print(res("fdasfda"))
    

    4.把lambda 作为参数传递普通函数和lambd对比

    • 普通函数
    def map_list(fn, lis01):
        result = []
        for item in lis01:
            i = fn(item)
            result.append(i)
        return result
    
    lis01 = [1, 2, 3, 4]
    def f(x):
        return x * 2
    lis01= map_list(f, lis01)
    print(lis01)
    
    • lambda表达式作为参数
    def map_list(fn, lis01):
        result = []
        for item in lis01:
            lis01 = fn(item)
            result.append(lis01)
        return result
    
    lis01 = [1,2,3,4]
    lis01 = map_list(lambda x: x * 2, lis01)
    print(lis01)
    

    5.把lambda 作为参数传递,把列表中的数据变成字符串

    def map_list(fn, lis01):
        result = []
        for item in lis01:
            lis01 = fn(item)
            result.append(lis01)
        return result
    
    lis01 = [1,2,3,4]
    lis01 = map_list(lambda x: str(x), lis01)
    lis01 = map_list(str, lis01)
    print(lis01)
    
  • 相关阅读:
    C++学习之:括号匹配与栈的使用
    mooc网站以及学习资料收集
    android 获取字符串的方法
    androidStudio中如何加载字体资源?
    BluetoothGatt API
    Android 反编译工具简介
    BluetoothAdapter.LeScanCallback 参考文档
    openCV1
    Android客户端向服务器端发送数据的流程(1)
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/john5yang/p/15605720.html
Copyright © 2020-2023  润新知