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

Python中的map()函数详解及用法

发布时间:2023-05-20 06:18:10

Python中map()函数是一种非常常用的高阶函数,它主要用于将一个函数映射到一个可迭代对象上的每一个元素,并返回一个结果列表。map()函数的语法格式为:

map(function, iterable, ...)

其中,function是要映射的函数,iterable是一个可迭代对象,可以是列表、元组、集合、字符串等。

下面来详细解析一下map()函数的用法及相关示例。

1.将列表中的每一个元素都加1

例如,我们有一个列表[1, 2, 3, 4, 5],现在要将其中每一个元素都加1,我们可以使用for循环来实现:

lst = [1, 2, 3, 4, 5]

new_list = []

for elem in lst:

    new_list.append(elem+1)

使用map()函数可以更简单地实现该功能,代码如下:

lst = [1, 2, 3, 4, 5]

new_list = map(lambda x: x+1, lst)

print(list(new_list))

结果为:

[2, 3, 4, 5, 6]

2.将列表中的每一个字符串都转换为大写

例如,我们有一个列表['hello', 'world', 'python'],现在要将其中每一个字符串都转换为大写,我们可以使用for循环来实现:

lst = ['hello', 'world', 'python']

new_list = []

for elem in lst:

    new_list.append(elem.upper())

使用map()函数可以更简单地实现该功能,代码如下:

lst = ['hello', 'world', 'python']

new_list = map(lambda x: x.upper(), lst)

print(list(new_list))

结果为:

['HELLO', 'WORLD', 'PYTHON']

3.将两个列表中对应位置的元素相加

例如,我们有两个列表[1, 2, 3, 4, 5]和[5, 4, 3, 2, 1],现在要将两个列表中对应位置的元素相加,我们可以使用for循环来实现:

lst1 = [1, 2, 3, 4, 5]

lst2 = [5, 4, 3, 2, 1]

new_list = []

for i in range(len(lst1)):

    new_list.append(lst1[i] + lst2[i])

使用map()函数也可以实现该功能,代码如下:

lst1 = [1, 2, 3, 4, 5]

lst2 = [5, 4, 3, 2, 1]

new_list = map(lambda x,y:x+y, lst1, lst2)

print(list(new_list))

结果为:

[6, 6, 6, 6, 6]

总结:以上是map()函数的基本用法及几个常见示例,需要注意的是map()函数返回的是一个迭代器对象,需要使用list()函数将其转换为列表才能输出结果。map()函数还有很多其他用法,可以根据实际需要进行探究。