专栏首页盛开在夏天的太阳Python内置函数(21)——filter

Python内置函数(21)——filter

英文文档:

filter(function, iterable)

Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.

Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable if function(item)) if function is not None and (item for item in iterable if item) if function is None.

See itertools.filterfalse() for the complementary function that returns elements of iterable for which function returns false.

说明:

  1. filter函数用于过滤序列。过滤的方式则是采用传入的函数,去循环序列的元素调用,如果函数计算的结果为True则保留元素,否则将舍弃该元素。

>>> a = list(range(1,10)) #定义序列
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> def if_odd(x): #定义奇数判断函数
    return x%2==1

>>> list(filter(if_odd,a)) #筛选序列中的奇数
[1, 3, 5, 7, 9]

  2. 当function参数传入None时,序列中的元素值如果为False,也会自动舍弃。

>>> c = ['',False,'I',{}] #定义序列
>>> c
['', False, 'I', {}]

>>> list(filter(None,c)) #筛选函数为None,自动舍弃序列中的False值,空字符串、False值、空序列都是False值,所以丢弃
['I']

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 6.docker的网络通讯

    1. 每台机器上都有一个网卡,有的甚至有两个网卡 , ETHD 10.1.1.10/8就表示一个网卡

    用户7798898
  • 2.2 Kubernetes--网络通讯

      k8s的网络模型假定了所有的Pod都在一个可以直接连通的扁平的网络空间中, 这在GCE(Google Compute Engine)里面是线程的网络模型, ...

    用户7798898
  • mac goLand快捷键

      macos先按Command+`,` 在自定义快捷(keymap)里搜索 Variable (在Refactor->Extract下面)

    用户7798898
  • js跨站请求功能完善

    getscript:function (url) { url += '&t=' + (new Date).getTime(); ...

    joshua317
  • APICloud开发者进阶之路|[ 模块教程 ] ding 模块使用分享

    <feature name="dingding">    <param name="appID" value="bf1acab2de4925b9cd624819...

    APICloud
  • 2019-08-20 ES6的 数组方法,变量的定义,模板字符串(第一天)

    用户4344670
  • JavaScript闭包与箭头函数

    用户1203875
  • 社区leaf学习笔记|06. 游戏玩家注册、登陆(中)

    上节课已经实现了消息的定义及消息的注册,将Leaf框架的结构做了部分功能文件的添加;更符合后面开发者快速熟悉的文件结构。

    李海彬
  • 知识总结:四个例子理解闭包//例一//例二//例三//例四

    /** * 闭包原理 * @date   2017-04-10 14:04:17 * @version 1 */ //理解作用域、作用域链 //内部作用域可以通...

    牛客网
  • 跨页面通讯的几种方式

    你经常会遇到需要跨标签共享信息的情况,那么本文就跟大家一起回顾下web端有哪些方式可以实现这样的需求。

    RobinsonZhang

扫码关注云+社区

领取腾讯云代金券