Python中的filter()函数:过滤列表数据的工具
Python中的filter()函数是一个非常有用的工具,它可以帮助我们过滤掉一些不需要的列表数据,使我们的代码更加简洁高效。这个函数非常适合处理一些需要筛选的数据,例如筛选出所有大于10的数等。
filter()函数的语法如下:
filter(function, iterable)
其中,function是我们自定义的函数,它可以接收一个参数,并根据这个参数的结果来判断该数据是否需要被过滤掉,如果需要,返回False ,否则返回True 。 iterable 表示可以迭代的对象,例如列表或元组。
下面,我们来看看filter()函数的具体应用:
1.筛选大于10的数
def is_greater_than_10(num):
if num > 10:
return True
else:
return False
lst = [2, 4, 5, 8, 10, 13, 15, 17, 20]
result = filter(is_greater_than_10, lst)
print(list(result))
在上面的代码中,我们定义了一个is_greater_than_10函数,它的作用是判断一个数字是否大于10。然后我们通过filter()函数把列表 lst 中所有大于10的数筛选出来,并将结果输出。
2.筛选偶数
def is_even(num):
if num % 2 == 0:
return True
else:
return False
lst = [2, 5, 8, 9, 10, 15, 18, 20, 23, 29]
result = filter(is_even, lst)
print(list(result))
在这个例子中,我们定义了一个is_even函数,它的作用是判断一个数字是否是偶数。然后我们通过filter()函数把列表 lst 中所有偶数筛选出来,并将结果输出。
3.筛选出含有指定字符的字符串
def has_char(str):
if "e" in str:
return True
else:
return False
lst = ["hello", "world", "python", "amazing", "great"]
result = filter(has_char, lst)
print(list(result))
在这个例子中,我们定义了一个has_char函数,它的作用是判断一个字符串是否包含字母“e”。然后我们通过filter()函数把列表 lst 中所有含有字母“e”的字符串筛选出来,并将结果输出。
总结:
filter()函数是一个非常便捷的工具,它通过我们自定义的函数可以帮助我们筛选出列表中需要的数据,过滤掉不需要的数据,从而让我们的代码更简洁高效。希望本篇文章能够为大家提供一些有用的参考和帮助,也希望大家能够善用这个函数,让编程变得更加优雅高效。
