鱼C论坛

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

[学习笔记] L21 Python lambda匿名函数等

[复制链接]
发表于 2020-4-1 23:07:08 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 foxdai 于 2020-4-8 18:26 编辑

1. lambda匿名函数
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数
3个特点:
(1)使用Python写一些脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
(2)对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题
(3)使用lambda在某些时候然后代码更容易理解
匿名函数优点
(1)lambda 只是一个表达式,函数体比 def 简单很多。
(2)lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
(3)lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
(4)虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法:
lambda [arg1 [,arg2,.....argn]]:expression

#  lambda 参数列表:
#  由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收

2. 两个BIF
filter()过滤函数
map()映射函数

3. enumerate()枚举函数 与 循环语句的结合使用
list1=[1,2,3,4,5]
for ind,val in enumerate(list1):
        list1[ind] = val **2
说明:ind=index,对应列表元素的序号;val,对应list列表中单个元素的实际值;

4. reduce函数
from functools import reduce
需要从functools导入才可以使用

5. 列表的表示方法:用指定虚标:字典列表
infors = [{"name":"wang","age":10},"name":"xiaoming","age":20},"name":"banzhang","age":10}]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 01:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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