专业编程基础技术教程

网站首页 > 基础教程 正文

Python中用map,filter,reduce函数替代循环语句

ccvgpt 2024-12-31 09:44:33 基础教程 2 ℃

map 函数

map function 允许您序列的每个元素使用一个函数,并根据给出的函数返回一个具有修改值的新序列。函数的基本 map 语法是: map(function, iterable)

使用函数

Python中用map,filter,reduce函数替代循环语句

nums = [1, 2, 3, 4, 5]
def function(x):
  return x * 2
mapped_nums = list(map(function, nums))
print(mapped_nums)  # Output: [2, 4, 6, 8, 10]

使用 Lambda

nums = [1, 2, 3, 4, 5]
mapped_nums = list(map(lambda x: x * 2, nums))
print(mapped_nums)  # Output: [2, 4, 6, 8, 10]

filter函数

filter 函数允许根据您给出的条件过滤序列的元素。 filter 函数返回按条件过滤的新序列。函数的基本 filter 语法是: filter(function, iterable)

使用函数

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
filtered_nums = list(filter(lambda x: x % 2 == 0, nums))
print(filtered_nums)  # Output: [2, 4, 6, 8]

使用 Lambda

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
filtered_nums = list(filter(lambda x: x % 2 == 0, nums))
print(filtered_nums) # Output: [2, 4, 6, 8]


reduce 函数

reduce function 允许将函数应用于元素序列,并根据的函数返回一个值。函数的基本 reduce 语法是: reduce(function, sequence)

使用函数

from functools import reduce

nums = [1, 2, 3, 4, 5]
def function(x, y):
  return x * y
product = reduce(function, nums)
print(product)  # Output: 120

使用 Lambda

from functools import reduce

nums = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, nums)
print(product)  # Output: 120

不是: reduce 函数不是内置函数,因此需要从 functiontools 导入。

Tags:

最近发表
标签列表