📅  最后修改于: 2023-12-03 15:25:16.493000             🧑  作者: Mango
在Python中,可以使用内置函数map()
将函数应用于列表的每个元素。
map(function, iterable, ...)
其中,function
是要应用的函数,iterable
是要迭代的可迭代对象,可以是列表、元组等。map()
函数返回一个迭代器,可以使用list()
函数将其转换为列表。
假设有一个列表,需要将其中的每个元素都加1,可以使用以下代码实现:
def add_one(x):
return x + 1
my_list = [1, 2, 3, 4, 5]
new_list = list(map(add_one, my_list))
print(new_list)
输出结果:
[2, 3, 4, 5, 6]
在上述示例中,定义了一个函数add_one()
,该函数接收一个参数x
,返回其加1后的结果。
然后定义了一个列表my_list
,其中包含了需要处理的元素。接下来,使用map()
函数将add_one()
函数应用于my_list
中的每个元素,得到一个迭代器。最后使用list()
函数将迭代器转换为列表,并打印输出结果。
除了像上面示例那样定义一个函数,还可以使用lambda表达式定义一个匿名函数,更加省略。
my_list = [1, 2, 3, 4, 5]
new_list = list(map(lambda x: x + 1, my_list))
print(new_list)
输出结果与之前一样:
[2, 3, 4, 5, 6]
在上述示例中,使用lambda表达式定义了一个匿名函数,将输入参数加1后返回结果。接下来,使用map()
函数将该匿名函数应用于my_list
中的每个元素,得到一个迭代器。最后使用list()
函数将迭代器转换为列表,并打印输出结果。
使用map()
函数可以将函数应用于列表的每个元素,支持定义函数和使用lambda表达式两种方式。map()
函数返回一个迭代器,可以使用list()
函数将其转换为列表。