
python进阶(1)Lambda表达式
发布日期:2021-05-09 03:53:25
浏览次数:24
分类:博客文章
本文共 1318 字,大约阅读时间需要 4 分钟。
Lambda表达式
lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数
语法
函数名 = lambda 参数:返回值
注意点
1.函数的参数可以有多个,多个参数之间用逗号隔开
2.匿名函数不管多复杂.只能写一行.且逻辑结束后直接返回数据
3.返回值和正常的函数一样,可以是任意数据类型,返回值的时候只能返回一个不能返回多个
def func(n): return n**nprint(func(4))f = lambda x: x**xprint(f(4))结果:>>> 256>>> 256
三大基础函数
filter(function, iterable)
对可迭代对象进行过滤,参数function是一个函数,参数iterable是可迭代对象。filter()函数调用时iterable会遍历,它的元素被逐一传入funciton函数,function函数返回布尔值。在funciton函数中编写过滤条件,如果为true则保留,为false则被过滤掉
number_list = range(1, 11)number_filter = filter(lambda it: it % 2 == 0, number_list)print(list(number_filter))>>> [2, 4, 6, 8, 10]
map(function, iterable)
对可迭代对象的元素进行变换,参数使用同上
# 将所有元素替换成小写users = ['jack', 'Tom', 'Tony', 'Alice']users_map = map(lambda u: u.lower(), users) print(list(users_map))>>> ['jack', 'tom', 'tony', 'alice']# 将所有首字母为T的元素替换成小写# 先过滤再替换users = ['jack', 'Tom', 'Tony', 'Alice']users_map = map(lambda u: u.lower(), filter(lambda u: u.startswith('T'), users))print(list(users_map))>>> ['tom', 'tony']
reduce(function, iterable[, initializer])
参数funciton是聚合操作函数,iterable是可迭代对象,initializer是初始值,可以省略
reduce()函数是将多个数据按照指定的算法积累叠加起来"""reduce的作用是先把列表中的前俩个元素取出计算出一个值然后临时保存着,接下来用这个临时保存的值和列表中第三个元素进行计算,求出一个新的值将最开始临时保存的值覆盖掉,然后在用这个新的临时值和列表中第四个元素计算.依次类推"""from functools import reducea = [1, 2, 3, 4]a_reduce = reduce(lambda x, y: x*10 + y, a)print(a_reduce)>>> 1234
发表评论
最新留言
不错!
[***.144.177.141]2025年04月19日 12时01分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
算法 - 如何从股票买卖中,获得最大收益
2021-05-09
算法 - 链表操作思想 && case
2021-05-09
并发编程实战-ConcurrentHashMap源码解析
2021-05-09
C#之反射、元数据详解
2021-05-09
通俗易懂设计模式解析——单例模式
2021-05-09
通俗易懂设计模式解析——抽象工厂模式
2021-05-09
SSM商城项目(十二)
2021-05-09
前端数据渲染及mustache模板引擎的简单实现
2021-05-09
设计模式系列之工厂模式三兄弟(Factory Pattern)
2021-05-09
OAuth2.0认证详解
2021-05-09
如何禁用控制台窗口的关闭按钮?
2021-05-09
Netflix是什么,与Spring Cloud有什么关系
2021-05-09
Java 中初始化 List 集合的 6 种方式!
2021-05-09
在滴滴和头条干了 2 年后端开发,太真实…
2021-05-09
你还在用分页?试试 MyBatis 流式查询,真心强大!
2021-05-09
你还在用命令看日志?快用 Kibana 吧,一张图片胜过千万行日志!
2021-05-09
Linux中对用户操作
2021-05-09
Linux查看CUDA和cuDNN版本
2021-05-09
centos修改mysql5.7默认端口后启动异常
2021-05-09
No.017:Letter Combinations of a Phone Number
2021-05-09