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统计字符串中指定字符出现次数的方法
Apr 04 Python
Python搜索引擎实现原理和方法
Nov 27 Python
用python处理MS Word的实例讲解
May 08 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
Python寻找两个有序数组的中位数实例详解
Dec 05 Python
Django使用AJAX调用自己写的API接口的方法
Mar 06 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
python 链接sqlserver 写接口实例
Mar 11 Python
python字符串的index和find的区别详解
Jun 20 Python
Python基于httpx模块实现发送请求
Jul 07 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 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序列号生成函数和字符串替换函数代码
2012/06/07 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js下用gb2312编码解码实现方法
2009/12/31 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
angular2使用简单介绍
2016/03/01 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python实现简单字典树的方法
2016/04/29 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
python实现定时发送邮件
2020/12/23 Python
remote接口和home接口主要作用
2013/05/15 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
办公室秘书自我鉴定
2014/01/18 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
劳模先进事迹材料
2014/12/24 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android