博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 中的高级函数filter()
阅读量:4559 次
发布时间:2019-06-08

本文共 709 字,大约阅读时间需要 2 分钟。

filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数,首先,要编写一个判断奇数的函数:

def is_odd(x):    return x % 2 == 1

然后,利用filter()过滤掉偶数:

filter(is_odd, [1, 4, 6, 7, 9, 12, 17])

结果:[1, 7, 9, 17]

利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串:

def is_not_empty(s):    return s and len(s.strip()) > 0filter(is_not_empty, ['test', None, '', 'str', '  ', 'END'])

结果:['test', 'str', 'END']

注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下:

a = '     123'a.strip()

结果: '123'

a='\t\t123\r\n'a.strip()

结果:'123'

转载于:https://www.cnblogs.com/wang1122/p/6237304.html

你可能感兴趣的文章
承接上篇scanf函数何时取&问题
查看>>
python笔记 - day4-之装饰器
查看>>
HttpWebResponse远程服务器返回错误: (500) 内部服务器错误
查看>>
关于.net MVC5+EF6 网站部署的问题
查看>>
异常 : identifier of an instance of com.mi.domain.Department was altered from 2 to 1
查看>>
实现托管代码调用非托管代码以及非托管代码调用托管代码->COM Interop
查看>>
简易乘方算法
查看>>
leetcode - Unique Paths
查看>>
舵机控制
查看>>
句柄类与继承
查看>>
cocos2d-x-3.1 事件分发机制 (coco2d-x 学习笔记七)
查看>>
多项式问题
查看>>
服务器实现的多种方法汇总
查看>>
理解jquery的$.extend()、$.fn和$.fn.extend()
查看>>
在线安装eclipse中html/jsp/xml editor插件 eclipseeditor
查看>>
MAC下彻底解决mysql无法插入和显示中文
查看>>
HDU 4456 Crowd
查看>>
Union和union all区别?
查看>>
map_multimap
查看>>
需要拿来看的技术书籍
查看>>