Python函数-map()函数的用法和实例演示
map()函数是Python内置的函数,主要作用是将一个函数作用于一个可迭代对象的每个元素,并返回一个可迭代对象。map()函数的语法格式为:
map(function, iterable1, iterable2,…,iterableN)
其中,function是被映射的函数,可以是任意的有返回值的函数;iterable1, iterable2,…, iterableN是可迭代对象,可以是列表、元组、字典等。注意,map()函数返回的是一个迭代器对象,需要使用list()等函数转换成列表或者其他类型的对象。
map()函数的原理就相当于将iterable1, iterable2,…,iterableN的每个元素,依次传入function函数进行运算,并返回一个新的迭代器对象。map()函数的最大优点是不需要我们显式地编写循环,简化了程序的编写难度,提高了代码的可读性。
下面,我们结合实例,来分析map()函数的用法和特点:
1.将列表中的每个元素都加1
我们可以使用map()函数将列表中的每个元素都加1,代码如下:
lst = [1, 2, 3, 4, 5]
result = map(lambda x: x+1, lst)
print(list(result))
输出结果为:
[2, 3, 4, 5, 6]
这里我们使用了lambda表达式来定义一个匿名函数,该函数接收一个参数x,将x加1作为返回值。
2.处理多个列表,求对应元素的和
我们可以使用map()函数处理多个列表,求对应元素的和,代码如下:
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
result = map(lambda x, y: x+y, lst1, lst2)
print(list(result))
输出结果为:
[5, 7, 9]
这里我们使用了lambda表达式来定义一个匿名函数,该函数接收两个参数x和y,将x和y相加作为返回值。
3.将字符串中的字母转换成大写
我们可以使用map()函数将字符串中的字母转换成大写,代码如下:
str1 = "hello world"
result = map(lambda x: x.upper(), str1)
print(list(result))
输出结果为:
['H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D']
这里我们使用了lambda表达式来定义一个匿名函数,该函数接收一个参数x,将x转换成大写作为返回值。
4.处理字典中的值,求对应元素的和
我们可以使用map()函数处理字典中的值,求对应元素的和,代码如下:
dic = {'a': 1, 'b': 2, 'c': 3}
result = map(lambda x: x[1]+1, dic.items())
print(list(result))
输出结果为:
[2, 3, 4]
这里我们使用了lambda表达式来定义一个匿名函数,该函数接收一个参数x,取x的第二个元素,并加1作为返回值。
map()函数的优点在于可以将多个操作合并到一个函数中,提高了程序的效率和可读性。但是,如果操作比较复杂,建议还是使用循环来处理,更加灵活方便。同时,在Python3中,map()函数返回的是迭代器对象,需要使用list()函数将其转换成列表。
