Python 高阶映射和过滤函数

  • Post category:Python

Python高阶映射和过滤函数的使用方法攻略

Python提供了一些方便的高阶函数,使得在列表、元组或字典上进行操作更加高效而简洁。本文将详细介绍Python的高阶映射和过滤函数。

map()函数

map()函数接受一个函数和一个可迭代对象,会将可迭代对象中的每个元素依次传递给函数,并将函数处理后的结果组成一个新的可迭代对象返回。

# 将列表中的每个元素平方
nums = [1, 2, 3, 4]
new_nums = list(map(lambda x: x**2, nums))
print(new_nums)
# 输出:[1, 4, 9, 16]

filter()函数

filter()函数接受一个函数和一个可迭代对象,会将可迭代对象中的每个元素依次传递给函数,如果函数返回True,则保留该元素,否则删除该元素,返回一个新的可迭代对象。

# 筛选出列表中的偶数
nums = [1, 2, 3, 4]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)
# 输出:[2, 4]

列表推导式

除了使用map()和filter()函数,还有更为简洁的方式来实现高阶映射和过滤操作——列表推导式。列表推导式实际上就是一种能够把一个可迭代对象映射成另一个可迭代对象的语法糖。

# 将列表中的每个元素平方
nums = [1, 2, 3, 4]
new_nums = [x**2 for x in nums]
print(new_nums)
# 输出:[1, 4, 9, 16]

# 筛选出列表中的偶数
nums = [1, 2, 3, 4]
even_nums = [x for x in nums if x % 2 == 0]
print(even_nums)
# 输出:[2, 4]

以上就是Python高阶映射和过滤函数的使用方法攻略,希望能够对你有所帮助。