filter(function, sequence)
对 sequence(list或string)进行 过滤,返回 筛选结果 。
python2 中, filter 返回 的是 list型 。 python3 中, filter 返回 的是 filter object(filter对象)。需要再加上 转list 操作才能达到 python2下的效果。
string = 'abcd'
xs = filter(lambda x : x != 'b', string)
print(xs) # <filter object at 0x7f3888cd67b8>
print(list(xs)) # ['a', 'c', 'd']
f = lambda x : x % 2 != 0
list = [1, 2, 3, 4]
print filter(f, list)
打印结果:
[1, 3]
string = 'abcd'
print filter(lambda x : x != 'b', string)
打印结果:
acd
筛选出含有 ‘ang’ 的 元素项。 count 函数 计算 ‘ang’ 的 出现次数,只要 不是0 的 都会 返回 。
s = ['Beijing!', 'Shanghai', 'Guangzhou']
print filter(lambda x:x.count('ang'),s)
打印结果:
['Shanghai', 'Guangzhou']
也可用以下代码:
s = ['Beijing!', 'Shanghai', 'Guangzhou']
print [i for i in s if i.count('ang')]
打印结果:
['Shanghai', 'Guangzhou']