如何在Python中使用filter函数过滤列表中的负数
发布时间:2023-06-25 18:35:12
在Python中,使用filter函数可以方便地过滤掉列表中的元素,其内置函数形式为:filter(function, iterable)。
其中function是用来判断是否接受某个元素的函数,iterable则是可以迭代的对象。
在本题中,我们可以使用lambda表达式来判断每个元素是否是负数,代码如下:
list1 = [1, -4, 5, -6, 3, -8, 2] filtered_list = list(filter(lambda x: x >= 0, list1)) print(filtered_list)
运行结果为:[1, 5, 3, 2]
上述代码中,使用lambda表达式判断了每个元素是否大于等于0,filter函数通过调用这个lambda函数来过滤list1中的元素。最后,使用list函数将过滤后的结果转化为列表类型,并打印输出。
除了使用lambda表达式外,也可以定义一个函数来作为filter函数中的参数,代码如下:
def is_positive(x):
if x >= 0:
return True
else:
return False
list1 = [1, -4, 5, -6, 3, -8, 2]
filtered_list = list(filter(is_positive, list1))
print(filtered_list)
运行结果为:[1, 5, 3, 2]
在这里,定义了一个函数is_positive用来判断每个元素是否大于等于0,在filter函数中直接调用该函数即可过滤出符合条件的元素。
无论是使用lambda表达式还是自定义函数,都可以通过filter函数在Python中过滤出列表中的负数。
