Python中filter筛选函数匿名参数问题
来源:互联网 发布:icloud备份数据恢复 编辑:程序博客网 时间:2024/06/04 01:26
最近在学习python,觉得有个地方很有意思,稍作记录,方便以后查阅。
Python内建的filter()函数用于过滤序列。
简单来讲,就是针对一个序列中的每个元素,调用一个判别函数,根据函数返回的True和False(Python中的bool类型必须严格为True和False),决定是否删除这个元素。
有意思的地方正在于这个判别函数的入参。如果仅根据待筛选值即可确定是否过滤,那么直接指定函数名即可,待筛选值会作为入参传入该函数;如果筛选逻辑需要额外的参数,则使用lambda表达式返回匿名函数,作为判别函数使用。
先以一个形参为例,即_filter(x):
1、如果调用时未传入实参,则x为序列中带判别值,例如:
def is_odd(n): return n % 2 == 1list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
运行后输出为:[1, 5, 9, 15]
2、如果筛选逻辑需要额外的参数,则使用lambda表达式返回匿名函数,例如:
def is_odd(n): return lambda x: x % n == 1n = 2list(filter(is_odd(n), [1, 2, 4, 5, 6, 9, 10, 15]))
函数名也是一种变量,挺强大!
阅读全文
0 0
- Python中filter筛选函数匿名参数问题
- python中filter函数的使用问题
- python中匿名函数
- python中匿名函数
- python中匿名函数
- python中filter()函数
- python中filter()函数
- python 中filter()函数
- python中filter()函数
- python中filter函数
- python中filter()函数
- Python中lambda匿名函数
- python中lambda() 匿名函数
- Python中任意函数参数问题
- Python中函数参数传递问题
- python中filter函数用法
- Python 函数式编程(高阶函数、把函数作为参数、map()函数、reduce()函数、filter()函数、自定义排序函数、函数返回函数、闭包、匿名函数、装饰器decorator)
- python 函数参数问题
- 关于jqGrid使用二级表头拖拽导致表头错位问题解决
- 关系型数据库是什么?所遵循的ACID4个规则是哪些?
- Android事件传递机制(四)
- 打开即玩,H5游戏的实时分享性
- CSS 书写规范、顺序
- Python中filter筛选函数匿名参数问题
- Linux Shell Awk 流程控制语句详细介绍
- 算法细节系列(27):时间复杂度为何还能优化?
- SLAM数据关联
- 第5篇-JAVA面向对象Ⅰ
- 【项目记录】山东大学场馆管理系统之——文档管理
- pic ccp捕捉
- 截取小数点后两位
- curl get post语句