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 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
python读写ini配置文件方法实例分析
Jun 30 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
Python算法应用实战之队列详解
Feb 04 Python
简单了解Python中的几种函数
Nov 03 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
python字符串替换第一个字符串的方法
Jun 26 Python
Python DES加密实现原理及实例解析
Jul 17 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
Flask缓存静态文件的具体方法
Aug 02 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 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
无线电的诞生过程
2021/03/01 无线电
用PHP将数据导入到Foxmail
2006/10/09 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
php链式操作的实现方式分析
2019/08/12 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
python flask实现分页效果
2017/06/27 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
党校学习思想汇报
2014/01/06 职场文书
公司会计岗位职责
2014/02/13 职场文书
伊琍体标语
2014/06/25 职场文书
应届生自荐信
2014/06/30 职场文书
酒店辞职书范文
2015/02/26 职场文书
升职自我推荐信范文
2015/03/25 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
你会写请假条吗?
2019/06/26 职场文书