list(filter
时间: 2023-11-27 08:03:55 浏览: 69
`filter()`函数是Python内置的一个高阶函数,用于过滤序列中的元素。它的第一个参数是一个函数,第二个参数是一个可迭代对象,`filter()`函数会对可迭代对象中的每个元素依次调用函数进行判断,返回值为`True`的元素组成一个新的可迭代对象,即过滤掉不符合条件的元素。
以下是一个例子,演示如何使用`filter()`函数过滤掉列表中的空字符串、0和None:
```python
oo = ['', 0, None, 1, 2, '1']
result = list(filter(None, oo))
print(result) # 输出:[1, 2, '1']
```
在这个例子中,`filter()`函数的第一个参数为`None`,表示过滤掉列表中的空字符串、0和None。`filter()`函数返回的是一个迭代器,需要使用`list()`函数将其转换为列表。
另外,`filter()`函数的第一个参数也可以是一个函数,用于自定义过滤条件。例如,以下代码演示了如何使用`filter()`函数过滤出列表中的奇数:
```python
def odd(x):
return x % 2
temp = range(10)
result = filter(odd, temp)
print(list(result)) # 输出:[1, 3, 5, 7, 9]
```
在这个例子中,`filter()`函数的第一个参数为`odd`函数,用于判断列表中的元素是否为奇数。`filter()`函数会将列表中的每个元素依次传入`odd`函数进行判断,返回值为`True`的元素组成一个新的可迭代对象。
阅读全文