Python的filter()函数是一个内置函数,它通过指定规则来筛选序列中符合要求的元素。它的使用方法可以接受或者丢弃元素,使得我们能够对序列的数据进行筛选或筛掉,从而对序列进行处理或分析。
语法:
filter(function, iterable)
其中, function 表示筛选规则的函数,iterable 表示要进行筛选的序列,通常是列表、元组或集合。
接下来,我们用两个例子来说明filter()函数的使用方法:
- 筛选出列表中的偶数
假设我们有个列表a=[1,2,3,4,5,6,7,8],我们想要保留其中的偶数,可以通过以下代码来实现:
a = [1,2,3,4,5,6,7,8]
b = list(filter(lambda x: x%2==0, a))
print(b)
其中,lambda函数表示筛选规则,x表示a序列中的每个元素,x%2==0表示条件(即x是偶数),filter()函数会筛选出符合条件的元素组成新的列表。输出的结果是[2, 4, 6, 8]。
- 筛选出长度大于等于4的字符串
假设我们有个列表a=[‘apple’, ‘banana’, ‘pear’, ‘orange’],我们想要保留其中长度大于等于4的字符串,可以通过以下代码来实现:
a = ['apple', 'banana', 'pear', 'orange']
b = list(filter(lambda x: len(x) >= 4, a))
print(b)
其中,lambda函数表示筛选规则,x表示a序列中每个元素,len(x)>=4表示条件(即x的长度大于等于4),filter()函数会筛选符合条件的元素组成新的列表。输出的结果是[‘apple’, ‘banana’, ‘pear’, ‘orange’]。
通过以上两个例子,我们可以看到filter()函数的使用方法比较灵活,可以通过简单的lambda函数来指定筛选规则,进而达到想要的筛选结果。