python中的filter和map函数区别
时间: 2024-05-05 12:20:42 浏览: 248
python3 map函数和filter函数详解
`filter()` 和 `map()` 都是 Python 内置的高阶函数,用于对可迭代对象进行处理,但它们的作用不同。
`filter()` 函数的作用是过滤掉不符合条件的元素,返回一个符合条件的元素组成的迭代器。`filter()` 函数接收两个参数,第一个参数是一个函数,第二个参数是一个可迭代对象。函数会对可迭代对象中的每个元素进行判断,如果返回 `True` 则保留该元素,否则过滤掉该元素。
示例代码:
```python
# 过滤出偶数
nums = [1, 2, 3, 4, 5, 6]
result = filter(lambda x: x % 2 == 0, nums)
print(list(result)) # [2, 4, 6]
```
`map()` 函数的作用是对可迭代对象的每个元素进行处理,返回一个处理后的元素组成的迭代器。`map()` 函数接收两个参数,第一个参数是一个函数,第二个参数是一个可迭代对象。函数会对可迭代对象中的每个元素进行处理,返回处理后的结果。
示例代码:
```python
# 对列表中的每个数加1
nums = [1, 2, 3, 4, 5]
result = map(lambda x: x + 1, nums)
print(list(result)) # [2, 3, 4, 5, 6]
```
从示例代码中可以看出,`filter()` 函数返回的是一个符合条件的元素组成的迭代器,而 `map()` 函数返回的是一个处理后的元素组成的迭代器。
阅读全文