Python中的filter()函数的用法

 更新时间:2015年04月27日 11:40:02   作者:廖雪峰  
这篇文章主要介绍了Python中的filter()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下

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()这个高阶函数,关键在于正确实现一个“筛选”函数。
练习

请尝试用filter()删除1~100的素数。

相关文章

  • Python中的简写操作(for、if简写、匿名函数)

    Python中的简写操作(for、if简写、匿名函数)

    这篇文章主要介绍了Python中的简写操作(for、if简写、匿名函数),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 如何利用python实现Simhash算法

    如何利用python实现Simhash算法

    这篇文章主要介绍了如何利用python实现Simhash算法,文章基于python的相关资料展开Simhash算法的详细介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 解决Python中的ModuleNotFoundError: No module named 'paddle'错误

    解决Python中的ModuleNotFoundError: No module named 'pad

    你是否在尝试导入`paddle`模块时遇到了"ModuleNotFoundError: No module named 'paddle'"这个错误?别担心,我们的指南会告诉你如何解决,这就像找到丢失的钥匙一样简单,让我们一起来看看如何解决这个问题吧!
    2024-03-03
  • python爬虫的工作原理

    python爬虫的工作原理

    本文主要介绍了python爬虫的工作原理,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Python实现修改图片分辨率(附代码)

    Python实现修改图片分辨率(附代码)

    这篇文章主要介绍了Python通过ffmpeg实现修改图片分辨率,文中的代码介绍详细,对我们的工作或学习有一定的价值,感兴趣的小伙伴可以学习一下
    2021-12-12
  • python实现快速排序的示例(二分法思想)

    python实现快速排序的示例(二分法思想)

    本篇文章主要介绍了python实现快速排序的示例(二分法思想),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Python时区设置方法与pytz查询时区教程

    Python时区设置方法与pytz查询时区教程

    这篇文章主要介绍了Python时区设置的方法和pytz查询时区的方法,大家参考使用吧
    2013-11-11
  • Python技巧之四种多线程应用分享

    Python技巧之四种多线程应用分享

    这篇文章主要介绍了Python中多线程的所有方式,包括使用threading模块、使用concurrent.futures模块、使用multiprocessing模块以及使用asyncio模块,希望对大家有所帮助
    2023-05-05
  • 基于numpy中数组元素的切片复制方法

    基于numpy中数组元素的切片复制方法

    今天小编就为大家分享一篇基于numpy中数组元素的切片复制方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 使用Python批量删除MySQL数据库的全部外键

    使用Python批量删除MySQL数据库的全部外键

    这篇文章主要为大家详细介绍了如何使用Python批量删除MySQL数据库的全部外键,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04

最新评论