python 内置函数filter

作者:lqh 时间:2023-01-07 21:53:37 

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,内置函数,filter
0
投稿

猜你喜欢

  • idea激活码最新获取方法(idea2020激活码汇总)

    2024-01-03 08:42:52
  • python使用thrift教程的方法示例

    2022-03-14 04:29:02
  • PHP getallheaders无法获取自定义头(headers)的问题

    2024-04-30 08:47:30
  • JavaScript使用正则表达式获取全部分组内容的方法示例

    2023-08-27 13:38:18
  • django admin添加数据自动记录user到表中的实现方法

    2022-11-17 14:58:24
  • python实现的自动发送消息功能详解

    2021-12-09 20:45:18
  • MySQL操作符(and、or、in、not)的具体使用

    2024-01-17 22:46:44
  • Python将list元素转存为CSV文件的实现

    2022-03-14 20:15:00
  • JavaScript简单实现弹出拖拽窗口(一)

    2024-04-28 09:42:56
  • php-fpm报502问题的解决办法

    2023-10-12 04:12:23
  • layabox2.0命令行在vscode中编译打包问题

    2022-08-27 02:23:20
  • Node.js基础模块babel使用详解

    2024-05-13 09:35:11
  • 基于JSP的RSS阅读器的设计与实现方法(推荐)

    2024-05-03 15:31:26
  • python中使用矢量化替换循环详解

    2023-08-27 00:51:01
  • vue实现联动选择

    2024-05-22 10:42:28
  • Django ORM 多表查询示例代码

    2021-07-25 05:22:02
  • Python Web框架之Django框架文件上传功能详解

    2023-06-25 11:19:40
  • Asp中Server.ScriptTimeOut脚本超时属性需要注意的一点

    2008-10-18 14:53:00
  • python 获取list特定元素下标的实例讲解

    2021-12-13 23:54:41
  • Python实现的栈、队列、文件目录遍历操作示例

    2022-06-10 00:12:35
  • asp之家 网络编程 m.aspxhome.com