描述:
这是python的内置函数 : (其实他是个类)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表 .
语法:
map(func , iter,…)
参1:函数
参2:一个或者多个序列(列表,或者元组)
返回值:
返回一个map对象 , 其实这个map是一个类,只是 m 没有大写, 很容易当成一个函数
这个 map对象 ,可以强转 ,具体操作看代码
# 计算平方
def func1(x):
return x ** 2
# 定义列表
list01 = [1, 2, 3, 4, 5]
# 定义元组
tuple1 = (1, 2)
obj1 = map(func1, list01)
print('map对象 :', obj1)
# 强转类型
list02 = list(map(func1, list01))
tuple2 = tuple(map(func1, tuple1))
print('强转列表后 :', list02)
print('强转元组后 :', tuple2)
结果看下图:
上面演示的是有一个参数的函数, 那有有多个参数的函数呢?看代码:
result = list(map(lambda x, y: x + y, [1, 2, 3, 4, 5], [6, 7, 8, 9]))
print(result)
结果看下图:
创造一个 lambda匿名函数
可以看到 , 是把每个列表的每个值,对应相加 , 那列表1比列表2 多的那个值 就会被抹去.