python 内置函数filter


Posted in Python onJune 01, 2017

python 内置函数filter

class filter(object):
 """
 filter(function or None, iterable) --> filter object
 
 Return an iterator yielding those items of iterable for which function(item)
 is true. If function is None, return the items that are true.
 """

filter(func,iterator)

    func:自定义或匿名函数中所得值是布尔值,true将保留函数所取到的值,false则取反。
    iterator:可迭代对象。

例:

     过滤列表['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
     只要含有text字符串及将其取出 or 取反。

s.rfind'text'+1

     Python3中 rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
     数字中0是false,0以上的整数都是true,所以s.rfind'text'后会有+1,没找到字符及-1+1=0.

# Filter

li = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']

# 默认保留函数所取到的值
print(list(filter(lambda s: s.rfind('text') + 1, li)))
# 取反,下三个例子是一样的
print(list(filter(lambda s: not s.rfind('text') + 1, li)))

# Noe 自定义函数

l1 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']


def distinguish(l):
 nl = []
 for s in l:
  if s.rfind("text") + 1:
   nl.append(s)
 return nl


print(distinguish(l1))

# Two 自定义高阶函数

l2 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']


def f(s):
 return s.rfind('text') + 1


def distinguish(func, array):
 nl = []
 for s in array:
  if func(s):
   nl.append(s)
 return nl


print(distinguish(f, l2))

# Three 匿名函数

l3 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']


def distinguish(func, array):
 nl = []
 for s in array:
  if func(s):
   nl.append(s)
 return nl

print(distinguish(lambda s: s.rfind('text') + 1, l3))

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python判断字符串与大小写转换
Jun 08 Python
Python的标准模块包json详解
Mar 13 Python
老生常谈进程线程协程那些事儿
Jul 24 Python
python读取txt文件,去掉空格计算每行长度的方法
Dec 20 Python
python里 super类的工作原理详解
Jun 19 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
记录模型训练时loss值的变化情况
Jun 16 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
python读取二进制mnist实例详解
May 31 #Python
Python算术运算符实例详解
May 31 #Python
Python简单的制作图片验证码实例
May 31 #Python
详解python的webrtc库实现语音端点检测
May 31 #Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 #Python
基于ID3决策树算法的实现(Python版)
May 31 #Python
Python基础知识_浅谈用户交互
May 31 #Python
You might like
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
PHP7常量数组用法分析
2016/09/26 PHP
让您的菜单不离网站
2006/10/03 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
纯JS实现轮播图
2017/02/22 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
python取均匀不重复的随机数方式
2019/11/27 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
财务总监管理职责范文
2014/03/09 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
工作检讨书怎么写
2015/01/23 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
公司员工辞职信范文
2015/05/12 职场文书
同事去世追悼词
2015/06/23 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
vue项目支付功能代码详解
2022/02/18 Vue.js
vue 自定义组件添加原生事件
2022/04/21 Vue.js