filter过滤函数
filter过滤函数判断每一个元素
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
filter() 方法的语法:
filter(function, iterable)
说明:
- function -- 判断函数,辅助过滤,并不改变原始数据。
- iterable -- 可迭代对象。
# 原始数据
alist=[1,2,3,4,5,6,7,8,9,10]
print(alist) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 定义判断函数,比如隔行取数
def isSpan(x):
if x % 2==0:
return True
# 利用判断函数过滤,然后转换为列表
f_alist=list(filter(isSpan,alist))
print(f_alist) # [2, 4, 6, 8, 10]
filter()与lambda表达式的结合
# 原始数据
alist=[1,2,3,4,5,6,7,8,9,10]
print(alist) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 利用判断函数过滤,然后转换为列表
f_alist=list(filter(lambda x:x%2==0,alist))
print(f_alist) # [2, 4, 6, 8, 10]
# 隔三行输出
f_alist=list(filter(lambda x:x%3==0,alist))
print(f_alist) # [3, 6, 9]