如何使用filter()函数筛选列表中的元素
filter()函数是Python内置的用于筛选列表中元素的函数,它对列表中的每个元素应用一个条件,返回符合条件的元素集合。filter()函数的语法如下:
filter(function, iterable)
其中,function是一个用于筛选的函数,它可以是内置函数(例如:len()、str()等)或自定义函数;iterable是一个可迭代的对象,例如列表、元组、字符串等。
下面通过几个使用例子来展示如何使用filter()函数筛选列表中的元素:
例1:筛选出列表中的偶数
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_even(num):
return num % 2 == 0
even_nums = list(filter(is_even, nums))
print(even_nums)
运行结果:[2, 4, 6, 8, 10]
在这个例子中,我们定义了一个函数is_even(),它接受一个参数num,并判断num是否为偶数。然后,我们使用filter()函数筛选出列表nums中的偶数,最后将筛选结果转换为列表并打印出来。
例2:筛选出字符串列表中长度大于等于5的字符串
words = ['apple', 'banana', 'pear', 'orange', 'strawberry']
def length_greater_than_equal_5(word):
return len(word) >= 5
long_words = list(filter(length_greater_than_equal_5, words))
print(long_words)
运行结果:['apple', 'banana', 'orange', 'strawberry']
在这个例子中,我们定义了一个函数length_greater_than_equal_5(),它接受一个参数word,并判断word的长度是否大于等于5。然后,我们使用filter()函数筛选出列表words中长度大于等于5的字符串,最后将筛选结果转换为列表并打印出来。
例3:筛选出元组列表中 个元素为偶数的元组
tuples = [(1, 2), (3, 4), (5, 6), (7, 8)]
def first_element_even(t):
return t[0] % 2 == 0
even_tuples = list(filter(first_element_even, tuples))
print(even_tuples)
运行结果:[(1, 2), (7, 8)]
在这个例子中,我们定义了一个函数first_element_even(),它接受一个参数t,并判断t的 个元素是否为偶数。然后,我们使用filter()函数筛选出元组列表tuples中 个元素为偶数的元组,最后将筛选结果转换为列表并打印出来。
以上就是使用filter()函数筛选列表中元素的几个例子。通过定义一个用于筛选的函数,并将这个函数作为filter()函数的 个参数,我们可以轻松地筛选出列表中符合条件的元素。
