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)