内置函数---filter和map
filter
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()过滤掉偶数:
>>>list(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()) > 0 >>>list(filter(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'
练习:
请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
方法:
import math def is_sqr(x):return math.sqrt(x) % 1 == 0 print(list(filter(is_sqr, range(1, 101))))
结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
map
Python中的map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
有一个list, L = [1,2,3,4,5,6,7,8],我们要将f(x)=x^2作用于这个list上,那么我们可以使用map函数处理。
>>> L = [1,2,3,4,] >>> def pow2(x): ... return x*x ... >>> list(map(pow2,L)) [1, 4, 9, 16]
转载于:https://www.cnblogs.com/FWF1944/p/10887344.html
内置函数---filter和map相关推荐
- 内置函数——filter和map
filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False , filter()根据判断结果自动过滤掉不符合条件的元 ...
- 自定义生成器函数模拟Python内置函数filter()
祝"Python小屋"全体朋友新年快乐,身体健康,万事如意! ================== 作为Python函数式编程的三大巨头之一,内置函数filter()的地位是非常重 ...
- python filter内置函数_python 内置函数filter
python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...
- Python内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- Python教程:内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- python filter函数_python 内置函数filter
python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...
- Python内置函数any()、map()组合运用案例一则
Python内置函数any()用来测试某个可迭代对象中是否所有对象都等价于True,map()用来把一个函数映射到一个或多个可迭代对象上. 问题描述:测试一个字符串中是否包含指定列表中的某个字符串作为 ...
- 【Python基础】内置函数filter详解
filter,顾名思义,就是一个过滤器.其作用是从列表(或其他序列类型)中筛选出满足条件的子列表,filter是python的内置函数,无须import即可直接使用. 1 filter的基础用法 对于 ...
- 内置函数sorted, map(Python)
sorted def sort(iterable,*, key=None, reverse=False):lis = []for i in iterable:ci = key(i) if key el ...
最新文章
- 嵌入式开发板老化过程中显示温度与负载的关系脚本的用法
- revit建筑样板_Revit出建筑施工图步骤及注意事项
- 服务器流量异常排查步骤(查看进程的流量)
- linux watch 命令简介 监测 监控变化
- PHP中少用但是很好用的方法
- SQL Server 2005远程连接连不上的解决办法收藏 Microsoft给的方法
- 吴恩达深度学习 —— 2.10 m个样本的梯度下降
- Android localsocket 的基础和使用实践: 01
- Beyond Compare 4
- 区块链中的密码学(五)-零知识证明简述
- node mysql json_Node.js JSON模块用法实例分析
- 30个你 “ 不可能全部会做 ” 的javascript题目
- 自动控制原理_电容补偿的作用与自动控制原理
- 数值补码和原码计算方法介绍
- mongodb数组操作
- android查看native日志,Android 日志管理框架 NativeLogger
- Windows系统关闭端口教程
- java技术管理的简历_基于javaweb个人简历生成及管理系统.doc
- 手把手教你修改iOS版QQ的运动步数
- 【RuoYi-Vue-Plus】扩展笔记 01 - 集成 JavaMail 发送邮件(源码)
热门文章
- python需要的环境_python运行环境是什么
- 超级计算机预测南方下雪,今冬南方就不下雪了?超级计算机:可能性确实在减小,但还要观察...
- jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
- html5基础知识点文本标签
- 京东数科上市首轮问询「答卷」:与蚂蚁集团有本质区别、信用风险损失有限
- A Common Framework for Interactive Texture Transfer(CVPR 2018)学习笔记
- 朴素贝叶斯(Naive Bayes),“Naive”在何处?
- Java 多线程 yield方法
- dojo中的dojo/dom-attr
- Android/Java中使用Protobuf的Any类型实现泛型解析