python map函数的使用
python2 中的map函数返回列表
python3 中的map函数返回迭代器
>>>def square(x) : # 计算平方数 ... return x ** 2 ... >>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方 [1, 4, 9, 16, 25] >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数 [1, 4, 9, 16, 25] # 提供了两个列表,对相同位置的列表数据进行相加 >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) [3, 7, 11, 15, 19]
如果函数有多个参数, 但每个参数的序列元素数量不一样, 会根据最少元素的序列进行:
>>> listx = [1,2,3,4,5,6,7] # 7 个元素 >>> listy = [2,3,4,5,6,7] # 6 个元素 >>> listz = [100,100,100,100] # 4 个元素 >>> list_result = map(lambda x,y,z : x**2 + y + z,listx, listy, listz) >>> print(list(list_result)) [103, 107, 113, 121]