lambda,map,filter学习概要笔记

lambda函数:
    基本结构:
        lambda arg:expression
        eg:
            xxx = lambda x,y:x+y  此时就是一个简单的函数
            等价于
            def xxx(x,y):
                return x+y
            调用也等同于普通的函数:
                xxx(1,2)

map函数:
    基本结构:
        map(function,iterable,...)
        就是将function多次迭代
    返回值是一个集合,且不改变原来的元素
        eg:
            def square(x):
                return x ** 2
    
            print(list(map(square,[1,2,3,4,5])))

            # 结果如下:
            [1,4,9,16,25]
    当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
        map(None,iterable)
        eg:
            map([2,4,6],[3,2,1])
            ########直接print输出的是map函数的地址,输出值需要进行数据类型转换#########
            # 结果如下
            [(2,3),(4,2),(6,1)]

filter函数:
    Python内置的filter()函数能够从可迭代对象(如字典、列表)中筛选某些元素,并生成一个新的迭代器。可迭代对象是一个可以被“遍历”的Python对象,也就是说,它将按顺序返回各元素,这样我们就可以在for循环中使用它。
    重点在筛选,由function决定。也是其与map的区别
    基本结构:
        filter(function, iterable)
        返回值是一个可迭代的filter对象,也是要进行数据类型转换

map函数与filter函数的异同:
    相同点:
        第一个参数都是一个函数
        第二个参数是一个可迭代序列
        返回可迭代对象
    不同点:
        filter的第一个参数是函数,这个函数是用来判断条件的
            filter最后返回值中的值是满足function中的条件的值
        map的第一个函数也是函数,但这个函数是用来做映射的。
            map中最后返回值中的值是可迭代序列中的值在function中处理后的结果


map函数与lambda函数混合使用:
    把lambda函数放在function的位置作为一个函数使用
    eg:
        print(list(map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])))
    
        # 结果如下:
        [3,7,11,15,19]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值