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变量作用范围实例分析
Jul 07 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
Python yield与实现方法代码分析
Feb 06 Python
python画折线图的程序
Jul 26 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
python按键按住不放持续响应的实例代码
Jul 17 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 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开发实现快递查询功能详解
2019/04/08 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
python采集博客中上传的QQ截图文件
2014/07/18 Python
python分割列表(list)的方法示例
2017/05/07 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
python如何调用百度识图api
2020/09/29 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
铲车司机岗位职责
2014/03/15 职场文书
餐饮投资计划书
2014/04/25 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
2015年科普工作总结
2015/07/23 职场文书
九年级英语教学反思
2016/02/15 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
oracle数据库去除重复数据
2022/05/20 Oracle