python的filter函数
时间: 2023-09-21 14:10:51 浏览: 95
filter函数是Python内置的高阶函数之一,用于过滤序列中的元素。它的基本形式为:
filter(function, iterable)
其中,function是一个函数,用于对iterable中的元素进行过滤;iterable是一个可迭代对象,可以是列表、元组、集合、字符串等。
filter函数返回一个迭代器,其中包含了所有满足function条件的元素。如果function为None,则默认返回所有非零元素。
例如:
```python
# 过滤出列表中的偶数
lst = [1, 2, 3, 4, 5, 6, 7, 8]
even_lst = list(filter(lambda x: x % 2 == 0, lst))
print(even_lst)
# 输出:[2, 4, 6, 8]
```
在上面的代码中,使用lambda表达式定义了一个匿名函数,用于判断列表中的元素是否为偶数,然后将满足条件的元素过滤出来,并转化为列表输出。
另外,filter函数也可以用于去除序列中的重复元素。例如:
```python
# 去除列表中的重复元素
lst = [1, 2, 3, 2, 4, 3, 5, 6, 5, 7]
unique_lst = list(filter(lambda x: lst.count(x) == 1, lst))
print(unique_lst)
# 输出:[1, 4, 6, 7]
```
在上面的代码中,使用lambda表达式定义了一个匿名函数,用于判断列表中的元素是否唯一,然后将满足条件的元素过滤出来,并转化为列表输出。
相关问题
python filter函数
filter函数是Python内置函数之一,用于过滤序列中的元素,返回一个迭代器对象。它的基本语法如下:
filter(function, iterable)
其中,function是一个函数,用于定义过滤的规则,iterable是一个可迭代对象,如列表、元组、集合等。
具体来说,filter函数会对iterable中的每个元素调用function函数,如果返回值为True,则保留该元素,否则过滤掉该元素。最终,filter函数返回一个迭代器对象,包含所有被保留的元素。
下面是一个示例,演示如何使用filter函数过滤列表中的奇数:
```
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_odd(n):
return n % 2 == 1
result = filter(is_odd, lst)
print(list(result)) # 输出 [1, 3, 5, 7, 9]
```
在上面的代码中,我们定义了一个is_odd函数,用于判断一个数是否为奇数。然后,我们调用filter函数,将is_odd函数作为参数传入,以过滤lst中的元素。最后,我们将过滤后的结果转换为列表并输出。
python filter函数用法
filter()函数是Python 3内置的一种常用函数,它的主要功能是按照给定的条件过滤列表,并返回符合条件的元素组成的新列表。filter()函数接受两个参数,第一个参数是一个条件函数,第二个参数是一个可迭代对象(如列表),filter()函数会遍历可迭代对象中的每个元素,将符合条件函数的元素保留下来,最后返回一个新的可迭代对象(过滤后的列表)。
下面是filter()函数的用法示例:
```python
# 过滤出大于2的元素
nums = [1, 2, 3, 4, 5, 6, 7]
result = filter(lambda x: x > 2, nums)
filtered_nums = list(result)
print(filtered_nums)
# 输出: [3, 4, 5, 6, 7]
```
在上面的示例中,我们使用lambda表达式作为条件函数,lambda表达式`lambda x: x > 2`表示筛选大于2的元素。filter()函数返回的是一个迭代器,我们可以通过将其转换为列表来查看结果。
阅读全文