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 11 Python
深度剖析使用python抓取网页正文的源码
Jun 11 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
python 的numpy库中的mean()函数用法介绍
Mar 03 Python
Python并发concurrent.futures和asyncio实例
May 04 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
python 爬取吉首大学网站成绩单
Jun 02 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
mysql 性能的检查和优化方法
2009/06/21 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
iOS10推送通知开发教程
2016/09/19 PHP
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
解决c++调用python中文乱码问题
2020/07/29 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
关于爱情的广播稿
2014/01/16 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
学生检讨书怎么写
2014/10/09 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书