欢迎访问宙启技术站
智能推送

`map()`函数的使用及示例

发布时间:2023-07-01 19:36:31

map()函数是Python内置的高阶函数之一,用于对可迭代对象(如列表、元组等)中的每个元素进行指定操作,并返回一个新的可迭代对象。

map()函数的语法如下:

map(function, iterable)

其中,function是一个函数,用于定义对每个元素进行的操作;iterable是一个可迭代对象,如列表、元组等。

map()函数的工作原理是将传入的可迭代对象的每个元素依次传入function进行操作,然后将操作的结果保存起来,最后返回一个新的可迭代对象,其中包含了每个元素经过function操作后的结果。

下面是一个使用map()函数的示例,假设我们有一个保存着学生成绩的列表,我们希望将每个学生的成绩加10分,并返回一个新的列表:

def add_10(score):
    return score + 10

scores = [80, 90, 75, 85, 95]
new_scores = list(map(add_10, scores))
print(new_scores)

运行结果为:[90, 100, 85, 95, 105]。可以看到,每个学生的成绩都加了10分。

在示例中,我们首先定义了一个函数add_10(score),该函数接受一个成绩作为参数,并返回成绩加10分后的结果。

接下来,我们创建了一个保存着学生成绩的列表scores,其中包含了几个成绩。

然后,我们使用map()函数将add_10函数应用到scores列表的每个元素上,将每个成绩加10分。

最后,我们使用list()函数将map()函数返回的可迭代对象转换为列表,并将结果赋给new_scores

最后,我们输出new_scores列表的内容,可以看到每个成绩都加了10分。

除了传入一个自定义的函数,我们还可以使用匿名函数(lambda函数)作为map()函数的参数,来简化代码。例如,我们可以将前面示例中的add_10函数改写为匿名函数:

scores = [80, 90, 75, 85, 95]
new_scores = list(map(lambda x: x + 10, scores))
print(new_scores)

运行结果与之前的示例相同。

总结来说,map()函数是一个非常强大的函数,可以用于对可迭代对象中的每个元素进行指定操作,并返回一个新的可迭代对象。它能够简化代码,并提高代码的可读性和可维护性。如果你需要对一个可迭代对象中的每个元素进行相同的操作,并将结果保存起来,map()函数是一个很好的选择。