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

python函数——map()的用法和示例

发布时间:2023-06-25 22:58:50

在Python中,map()函数是一个非常强大的函数。它可以将一个可迭代对象作为参数,并返回一个新的可迭代对象。这个新的可迭代对象中的每一个元素都是在原来的可迭代对象中经过函数处理后的结果。

map()函数有两个参数:一个是函数,另一个是可迭代对象。map()函数会将可迭代对象中的每个元素传递给函数,然后将函数的返回值组合成一个新的可迭代对象返回。

下面是map()函数的语法:

map(function, iterable, ...)

其中,function是一个函数,iterable是一个可迭代对象。任何可迭代对象都可以作为参数,包括列表、元组、集合等。

使用map()函数可以简洁地处理一些列表或元组中的每个元素,比如对所有元素求平方、取绝对值、转化为大写字母等等。

下面是一些使用map()函数的示例:

1. 对列表中的每个元素求平方

list1 = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, list1)
print(squared)

输出结果为:

<map object at 0x7f8d26c45580>

这里使用了lambda表达式定义了一个平方函数,并将其传递给map()函数。map()函数将列表中的每个元素都传递给这个函数,然后返回一个新的可迭代对象,其中每个元素都是原来列表中的元素的平方。

2. 对元组中的每个元素转化为大写字母

tuple1 = ('hello', 'world', 'python')
upper = map(lambda x: x.upper(), tuple1)
print(upper)

输出结果为:

<map object at 0x7f8d26c45fa0>

这里使用了lambda表达式定义了一个函数,将其传递给map()函数。map()函数将元组中的每个元素都传递给这个函数,然后将函数返回值组合成一个新的元组,其中每个元素都是原来元组中对应元素的大写形式。

3. 对嵌套列表中的元素进行处理

list2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flatten = map(lambda x: [i**2 for i in x], list2)
print(flatten)

输出结果为:

<map object at 0x7f8d26c45490>

这里使用了lambda表达式定义了一个函数,将其传递给map()函数。map()函数将嵌套列表中的每个元素都传递给这个函数,然后将函数的返回值组合成一个新的可迭代对象,其中每个元素都是原来嵌套列表中对应元素的平方形式。这里使用了列表推导式来生成新的列表。

4. 对多个可迭代对象进行处理

list1 = [1, 2, 3]
list2 = [4, 5, 6]
summed = map(lambda x, y: x + y, list1, list2)
print(summed)

输出结果为:

<map object at 0x7f8d26c45a30>

这里使用了lambda表达式定义了一个函数,将其传递给map()函数。map()函数将两个列表中的每个元素都传递给这个函数,然后将函数返回值组合成一个新的可迭代对象,其中每个元素都是原来两个列表中对应元素的和。

总结:

map()函数是Python中一个非常有用的函数,它可以非常简洁地处理一些可迭代对象,并返回新的可迭代对象。map()函数的 个参数是一个函数,第二个参数是一个可迭代对象。通过这个函数对可迭代对象中的每个元素进行处理,然后将处理后的结果组合成一个新的可迭代对象返回。这个函数可以是一个已有的函数,也可以使用lambda表达式来定义一个匿名函数。