python 的map函数
map函数会根据指定函数的类型对可迭代的对象进行映射
map(function, iterable):适用于对可迭代对象中的所有元素改为统一的类型时使用,在python2中,map函数返回的是一个列表,在python3中返回的是一个迭代器
print(list(map(int, input().strip().split())))
a = "abc"
print(list(map(str, a)))
输出:
['a', 'b', 'c']
map函数中使用匿名函数
l = [1,2,3,4]
l1 = [2,3,4]
print(list(map(lambda x,y: x+y, l, l1)))
输出:
[3, 5, 7]
由结果可以看出,map函数是一个对象映射的关系,如果两个可迭代对象的长度不等,则不等的地方不会输出
map函数还可以接收自定义的函数
一:传一个参数
def add(x):
return x+1
l = [1,2,3,4]
print(list(map(add, l)))
输出:
[2, 3, 4, 5]
二:传入两个参数,必须有两个可迭代对象,多个参数以此类推
def add(x, y):
return x+y
l = [1,2,3,4]
l1 = [2,3,4]
print(list(map(add, l, l1)))
输出:
[3, 5, 7]
在Python3中,如果具体知道可迭代对象中的元素个数,也可以直接进行拆包
l = [1,2]
x, y = map(int, l)
print(x, y)
输出:
1 2