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 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
通过C++学习Python
Jan 20 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
django允许外部访问的实例讲解
May 14 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
pytorch 中nn.Dropout的使用说明
May 20 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
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Python地图绘制实操详解
2019/03/04 Python
一行python实现树形结构的方法
2019/08/09 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
详解python 内存优化
2020/08/17 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
写好自荐信的技巧
2013/11/08 职场文书
给老婆的搞笑检讨书
2014/01/12 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
2014年组织部工作总结
2014/11/14 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python