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 40行代码实现人脸识别功能
Apr 02 Python
Python简单生成8位随机密码的方法
May 24 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
Pycharm之快速定位到某行快捷键的方法
Jan 20 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python3.4中清屏的处理方法
Jul 06 Python
Python中的With语句的使用及原理
Jul 29 Python
通过代码简单了解django model序列化作用
Nov 12 Python
Selenium 安装和简单使用的实现
Dec 04 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字符编码转换之gb2312转为utf8
2013/10/28 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
深入解析Python中的变量和赋值运算符
2015/10/12 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
一些.net面试题
2014/10/06 面试题
班干部演讲稿
2014/04/24 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
学校搬迁方案
2014/06/15 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
同学聚会通知书
2015/04/20 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript