鱼C论坛

 找回密码
 立即注册
查看: 3276|回复: 0

[学习笔记] Lambda表达式和两个厉害的BIF

[复制链接]
发表于 2018-2-5 09:37:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2018-2-5 10:05 编辑

Python在写一些执行代码的时候(python经常与linux服务器配合写代码),使用lambda就可以省下定义函数的过程,例如 需要写个简单的代码管理服务器时间,就不需要专门定义一个函数然后再写调用,使用lambda就可以使得代码更加精简。
对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,给函数起名也比较头疼,使用lambda就不需要考虑命名问题。
简化代码的可读性,由于def函数阅读要跳到开头def定义部分,使用lambda函数可以省去这样的步骤。
新的BIF
Filter()过滤器 只保留自己想要的信息
filter(function or None, iterable) --> filter object
None 是把可迭代对象筛选出True的部分
>>> filter(None,[1, 0, False, True, 3])
>>> list(filter(None,[1, 0, False, True, 3]))
[1, True, 3]

Function 相当于筛选条件,相当于把例子中temp所有值代入odd中,提取其中为True的部分
>>> def odd(x):
        return x % 2
>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
Map()映射 也是有两个参数(函数,可迭代序列)map(func, *iterables)
将可迭代序列中的每一个元素作为参数进行运算加工,直到可迭代序列的每个元素都加工完毕,返回所有加工后的函数构成新序列。
   >>> list(map(lambda x : x*2, range(5)))
         [0, 2, 4, 6, 8]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-20 08:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表