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相关推荐

  1. 内置函数——filter和map

    filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False  ,  filter()根据判断结果自动过滤掉不符合条件的元 ...

  2. 自定义生成器函数模拟Python内置函数filter()

    祝"Python小屋"全体朋友新年快乐,身体健康,万事如意! ================== 作为Python函数式编程的三大巨头之一,内置函数filter()的地位是非常重 ...

  3. python filter内置函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  4. Python内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  5. Python教程:内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  6. python filter函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  7. Python内置函数any()、map()组合运用案例一则

    Python内置函数any()用来测试某个可迭代对象中是否所有对象都等价于True,map()用来把一个函数映射到一个或多个可迭代对象上. 问题描述:测试一个字符串中是否包含指定列表中的某个字符串作为 ...

  8. 【Python基础】内置函数filter详解

    filter,顾名思义,就是一个过滤器.其作用是从列表(或其他序列类型)中筛选出满足条件的子列表,filter是python的内置函数,无须import即可直接使用. 1 filter的基础用法 对于 ...

  9. 内置函数sorted, map(Python)

    sorted def sort(iterable,*, key=None, reverse=False):lis = []for i in iterable:ci = key(i) if key el ...

最新文章

  1. 嵌入式开发板老化过程中显示温度与负载的关系脚本的用法
  2. revit建筑样板_Revit出建筑施工图步骤及注意事项
  3. 服务器流量异常排查步骤(查看进程的流量)
  4. linux watch 命令简介 监测 监控变化
  5. PHP中少用但是很好用的方法
  6. SQL Server 2005远程连接连不上的解决办法收藏 Microsoft给的方法
  7. 吴恩达深度学习 —— 2.10 m个样本的梯度下降
  8. Android localsocket 的基础和使用实践: 01
  9. Beyond Compare 4
  10. 区块链中的密码学(五)-零知识证明简述
  11. node mysql json_Node.js JSON模块用法实例分析
  12. 30个你 “ 不可能全部会做 ” 的javascript题目
  13. 自动控制原理_电容补偿的作用与自动控制原理
  14. 数值补码和原码计算方法介绍
  15. mongodb数组操作
  16. android查看native日志,Android 日志管理框架 NativeLogger
  17. Windows系统关闭端口教程
  18. java技术管理的简历_基于javaweb个人简历生成及管理系统.doc
  19. 手把手教你修改iOS版QQ的运动步数
  20. 【RuoYi-Vue-Plus】扩展笔记 01 - 集成 JavaMail 发送邮件(源码)

热门文章

  1. python需要的环境_python运行环境是什么
  2. 超级计算机预测南方下雪,今冬南方就不下雪了?超级计算机:可能性确实在减小,但还要观察...
  3. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
  4. html5基础知识点文本标签
  5. 京东数科上市首轮问询「答卷」:与蚂蚁集团有本质区别、信用风险损失有限
  6. A Common Framework for Interactive Texture Transfer(CVPR 2018)学习笔记
  7. 朴素贝叶斯(Naive Bayes),“Naive”在何处?
  8. Java 多线程 yield方法
  9. dojo中的dojo/dom-attr
  10. Android/Java中使用Protobuf的Any类型实现泛型解析