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

Python函数-map()函数的用法和实例演示

发布时间:2023-06-19 04:52:01

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()函数将其转换成列表。