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 相关文章推荐
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
python实现获取Ip归属地等信息
Aug 27 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
Python实现随机选择元素功能
Sep 14 Python
Python简单实现控制电脑的方法
Jan 22 Python
python 内置模块详解
Jan 01 Python
python游戏地图最短路径求解
Jan 16 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
python使用PIL剪切和拼接图片
Mar 23 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
python中的django是做什么的
Jul 31 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桌面中心(一) 创建数据库
2007/03/11 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
PDO::errorInfo讲解
2019/01/28 PHP
Javascript this指针
2009/07/30 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
python实现按行切分文本文件的方法
2016/04/18 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
python 装饰器的使用示例
2020/10/10 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
西部世纪面试题
2014/12/05 面试题
成功的餐厅经营创业计划书
2014/01/15 职场文书
医院搬迁方案
2014/06/14 职场文书
本溪关门山导游词
2015/02/09 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
汽车销售合同文本
2019/08/08 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
vue实现滑动解锁功能
2022/03/03 Vue.js
vue中data里面的数据相互使用方式
2022/06/05 Vue.js
springboot读取resources下文件的方式详解
2022/06/21 Java/Android