前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python: filter 函数

python: filter 函数

作者头像
JNingWei
发布2018-09-28 14:50:45
7210
发布2018-09-28 14:50:45
举报
文章被收录于专栏:JNing的专栏

API

filter(function, sequence)

对 sequence(list或string)进行 过滤,返回 筛选结果

python2 与 python3 中 filter 的不同

python2 中, filter 返回 的是 list型python3 中, filter 返回 的是 filter object(filter对象)。需要再加上 转list 操作才能达到 python2下的效果。

代码语言:javascript
复制
string = 'abcd'
xs = filter(lambda x : x != 'b', string)
print(xs)    # <filter object at 0x7f3888cd67b8>
print(list(xs))    # ['a', 'c', 'd']

Test (基于python2)

对list过滤

代码语言:javascript
复制
f = lambda x : x % 2 != 0
list = [1, 2, 3, 4]
print filter(f, list)

打印结果:

代码语言:javascript
复制
[1, 3]

对string过滤

代码语言:javascript
复制
string = 'abcd'
print filter(lambda x : x != 'b', string)

打印结果:

代码语言:javascript
复制
acd

与 count函数 结合

筛选出含有 ‘ang’ 的 元素项。 count 函数 计算 ‘ang’ 的 出现次数,只要 不是0都会 返回

代码语言:javascript
复制
s = ['Beijing!', 'Shanghai', 'Guangzhou']
print filter(lambda x:x.count('ang'),s)

打印结果:

代码语言:javascript
复制
['Shanghai', 'Guangzhou']

也可用以下代码:

代码语言:javascript
复制
s = ['Beijing!', 'Shanghai', 'Guangzhou']
print [i for i in s if i.count('ang')]

打印结果:

代码语言:javascript
复制
['Shanghai', 'Guangzhou']


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • API
  • python2 与 python3 中 filter 的不同
  • Test (基于python2)
    • 对list过滤
      • 对string过滤
        • 与 count函数 结合
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档