参考链接: python中的filter

最近在学习python,觉得有个地方很有意思,稍作记录,方便以后查阅。

Python内建的filter()函数用于过滤序列。

简单来讲,就是针对一个序列中的每个元素,调用一个判别函数,根据函数返回的True和False(Python中的bool类型必须严格为True和False),决定是否删除这个元素。

有意思的地方正在于这个判别函数的入参。如果仅根据待筛选值即可确定是否过滤,那么直接指定函数名即可,待筛选值会作为入参传入该函数;如果筛选逻辑需要额外的参数,则使用lambda表达式返回匿名函数,作为判别函数使用。

先以一个形参为例,即_filter(x):  1、如果调用时未传入实参,则x为序列中带判别值,例如:

def is_odd(n):

return n % 2 == 1

list(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 == 1

n = 2

list(filter(is_odd(n), [1, 2, 4, 5, 6, 9, 10, 15]))

函数名也是一种变量,挺强大!

[转载] Python中filter筛选函数匿名参数问题相关推荐

  1. python中filter(),reduce()函数

    filter()函数 是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter() ...

  2. [转载] python中numpy.concatenate()函数的使用

    参考链接: Python中的numpy.append numpy库数组拼接np.concatenate 原文:https://blog.csdn.net/zyl1042635242/article/d ...

  3. [转载] Python中的数学函数,三角函数,随机数函数

    参考链接: Python中的数学math函数 3(三角函数和角函数) 数学函数 函数返回值 ( 描述 )abs(x)返回数字的绝对值,如abs(-10) 返回 10ceil(x)返回数字的上入整数,如 ...

  4. [转载] python中callable_Python callable() 函数

    参考链接: Python callable() 转自:快递小可 Python callable() 函数 描述 python中的内建函数callable( ), 可以检查一个对象是否是可调用的 . 对 ...

  5. [转载] Python中的enumerate函数介绍

    参考链接: Python中的enumerate enumerate英文翻译为枚举的意思. 可以将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.Python ...

  6. [转载] python中的eval函数

    参考链接: Python中的求值函数 eval eval函数很强大,可以将字符串做为有效的表达式来求值并返回计算结果,如下所示: # 基本的数学计算 In [1]: eval("1 + 1& ...

  7. 在python中filter是什么意思_python中的filter函数功能是什么?

    在python中,面对众多的数据,我们要过滤筛选出我们需要的数据.python中的filter函数就是起到了过滤筛选的作用.filter函数可以筛选一个筛选函数和一个序列,将筛选函数依次作用于每一个筛 ...

  8. [转载] python中set函数是什么数据类型_Python基本数据类型-list-tuple-dict-set详解

    参考链接: Python中的isdisjoint函数 Python基本数据类型-list-tuple-dict-set 数据类型 表示方法 特性 list 列表用方括号表示:[] list是一种有序的 ...

  9. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

最新文章

  1. 一百万个视频短片数据集来啦!看看有没有你见过的瞬间(附视频)
  2. 基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人
  3. python要自学多长时间-怎么自学python,大概要多久?
  4. (转) Docker EE/Docker CE简介与版本规划
  5. feignRequest$Options错误
  6. java制作一个简单的画板_【Java】Thymeleaf一个简单示例
  7. 关于scanf对换行的吸收
  8. 软件设计师备考知识03
  9. 远程办公绝非远程监控,该如何挖掘远程办公的红利?
  10. 加密芯片在汽车无钥匙启动行业的应用
  11. 当动态T-SQL语句遇到除零的问题
  12. JVM内存模型及CMS、G1和ZGC垃圾回收器详解
  13. Github新手之路(全过程)(站在前辈的肩膀上的总结)
  14. Luogu 1894 [USACO4.2]完美的牛栏The Perfect Stall
  15. 防治脖子痛的简易保健操
  16. shell中的if语句
  17. Synplify 综合Gtech 网表
  18. LBS找外贸客户 外贸怎么找客户
  19. 输入网址自动跳转到域名纠错系统-解决办法:(北京网通:现在称为垃圾廉通)...
  20. 微软幽你一默,蓝屏死机屏保

热门文章

  1. hibernate4 could not initialize proxy - no Session
  2. 手机如何看python文件大小_如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?)...
  3. 关于WindowsPE的DIY和黑科技
  4. NYOJ241 - 字母统计
  5. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...
  6. element引入的组件大小高度不对_ElementUI 在 按需引入时定义 default size?
  7. java 引用类快捷键_Java数据类型及其转换经常用到的快捷键
  8. mysql索引两个表_MySQL索引优化(索引两表优化案例)
  9. 读取nacos_使用nacos配置多环境切换
  10. java 环境变量_Win10系统配置Java环境变量