filter

Python内建的filter()函数用于过滤序列。

map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

例如,在一个list中,删掉偶数,只保留奇数,可以这么写:

def is_odd(n):
return n % 2 == 1 filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])
# 结果: [1, 5, 9, 15]

把一个序列中的空字符串删掉,可以这么写:

def not_empty(s):
return s and s.strip() filter(not_empty, ['A', '', 'B', None, 'C', ' '])
# 结果: ['A', 'B', 'C']

可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。

最新文章

  1. SU54 新建视图簇 维护数据表
  2. TensorFlow之Varibale 使用方法
  3. Visual Studio 下C#编译器在解析属性名时如果增加一个get_[您的另一个已经包含在类中属性名]的属性会报错,微软大哥这是什么鬼?
  4. bug_ _ 应用汇==常见错误列表
  5. 关于柯尼卡美能达bizhub250出现c2557错误解决方法
  6. HDU4276 The Ghost Blows Light SPFA&&树dp
  7. GetKeyState和GetAsyncKeyState以及GetKeyboardState函数的用法与区别2-------C#检查键盘大小写锁定状态
  8. $GLOBALS['HTTP_RAW_POST_DATA']、$_POST和php://input深入探究三者的区别
  9. 行列转换小结 Pivot ,Unpivot (转,改)
  10. 3、Spring4之Bean 配置的细节
  11. C#利用Emit反射实现AOP,以及平台化框架封装思路
  12. jdbc数据连接池dbcp要导入的jar包
  13. Nginx错误页面优雅显示
  14. nginx实现新老网站跳转(原URL不变)
  15. 写给自己看的vue
  16. LeetCode120-Triangle-数组,动态规划
  17. Linux 常见操作
  18. 本地搭建ELK(elasticsearch, logstash, kibana)日志收集系统
  19. 20155216 Exp5 MSF基础应用
  20. 利用canvas来绘制一个会动的图画

热门文章

  1. ln in Linux
  2. activeX 开发
  3. 堆中的路径(MOOC)
  4. JavaScript学习笔记(四)——DOM
  5. eos开发实践
  6. hadoop 中balance 机制
  7. 关于0x80000000为什么等于-2147483648和负数在内存上储存的问题
  8. 【Alpha】阶段第三次Scrum Meeting
  9. 基础系列(5)—— C#控制语句
  10. 周总结web未完成的代码