Python中的map()函数详解及用法
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()函数还有很多其他用法,可以根据实际需要进行探究。
