Python中的map()函数用法详解
发布时间:2023-05-22 17:54:19
Python中的map()函数是一个很有用的内置函数,它可以将一个序列中的每个元素应用到一个函数上,并将结果作为一个新的列表返回。map()函数的语法如下:
map(function, iterable, ...)
其中,function是一个函数,可接受一个参数用于处理iterable中的每个元素,iterable是一个序列(如list、tuple、字符串等)。map()函数返回的是一个迭代器,因此需要使用list()函数将其转换成列表。
下面详细介绍一下map()函数的用法:
1. 将序列中的每个元素应用到一个函数上
例1:将列表中的每个元素转换成字符串类型
lst = [1, 2, 3, 4, 5] lst_new = list(map(str, lst)) print(lst_new) # 输出 ['1', '2', '3', '4', '5']
例2:将字符串中的每个字符转换成大写字母
s = 'hello world' s_new = ''.join(map(str.upper, s)) print(s_new) # 输出 HELLO WORLD
2. 将多个序列中的元素依次应用到一个函数上
例3:将两个列表相应位置的元素相加
lst1 = [1, 2, 3] lst2 = [4, 5, 6] lst_new = list(map(lambda x, y: x + y, lst1, lst2)) print(lst_new) # 输出 [5, 7, 9]
3. map()函数可以将一个序列中的每个元素映射成任意数据类型
例4:将字符串列表中的每个字符串转换成数字类型
lst = ['1', '2', '3', '4', '5'] lst_new = list(map(int, lst)) print(lst_new) # 输出 [1, 2, 3, 4, 5]
4. map()函数可以一次性将多个序列中的元素映射成一个新的数据类型
例5:将两个列表中的元素打包成元组
lst1 = [1, 2, 3] lst2 = ['a', 'b', 'c'] lst_new = list(map(lambda x, y: (x, y), lst1, lst2)) print(lst_new) # 输出 [(1, 'a'), (2, 'b'), (3, 'c')]
5. map()函数也可以用于对序列中的元素进行筛选
例6:将列表中的奇数元素筛选出来
lst = [1, 2, 3, 4, 5] lst_new = list(filter(lambda x: x % 2 != 0, lst)) print(lst_new) # 输出 [1, 3, 5]
综上所述,map()函数是一个非常实用的内置函数,可以对一个序列中的每个元素进行处理,也可以将多个序列中的元素组合起来进行处理。
