内建函数gilter和compress
filter(func, seq)
返回经func处理后为真的元素, func可以显式指定为None,过滤真值的元素.
DEMO
li = [0,1,2,3]
r1 = filter(None, li)
r2 = filter(lambda x: x % 2, li)
print(list(r1), list(r2))
compress(seq1, seq2)
并行迭代, 返回seq2为真的seq1的元素
DEMO
from itertools import compress
r = compress("12345", [1,1,1,0,0])
print(list(r))