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 相关文章推荐
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
python同时给两个收件人发送邮件的方法
Apr 30 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
用Python写冒泡排序代码
Apr 12 Python
python函数的5种参数详解
Feb 24 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
python读取和保存视频文件
Apr 16 Python
python导入模块交叉引用的方法
Jan 19 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
wxPython实现带颜色的进度条
Nov 19 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 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
图书管理程序(一)
2006/10/09 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
营销专业应届生求职信
2013/11/26 职场文书
旅游网创业计划书
2014/01/31 职场文书
致接力运动员广播稿
2014/02/17 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
合理化建议书范文
2015/09/14 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
选购到合适的激光打印机
2022/04/21 数码科技