filter的基础用法

geteshi
2022-05-24 / 0 评论 / 22 阅读 / 正在检测是否收录...

filter的基础用法

对于列表(或其他序列类型),如果希望从中筛选出满足某个约束条件的子列表,我们一般的做法是使用一个for循环遍历每个元素然后执行相同约束条件判断,将满足条件的放入新的子列表中。例如,从列表中找出所有偶数子列表,并按对应的先后顺序放入子列表中:

a = [1, 2, 3, 4, 5]
b  = []
for i in a:
    if i % 2 == 0:
        b.append(i)

那么如果使用filter的话,使用filter函数使得代码变得更简洁:

a = [1, 2, 3, 4, 5]
def check(i): return i % 2 == 0
b = list(filter(check, a))

示例

content = "### #123 #234#568 #566#569#565#568"
listdata = [i.strip() for i in content.split("#")]
c = list(set(filter(lambda o: o, listdata)))
print(listdata)
print(c)

# 输出
['', '', '', '', '123', '234', '568', '566', '569', '565', '568']
['566', '569', '565', '234', '123', '568']
0

评论 (0)

取消