在序列中映射函数map的使用示例
1 >>> l=[1,2,3,4,5] 2 >>> L=[] 3 >>> for i in l: 4 L.append(i**2) 5 6 7 >>> 8 >>> L 9 [1, 4, 9, 16, 25] 10 >>> def f(x):return x**2 11 12 >>> list(map(f,l)) #使用map映射函数和列表 13 [1, 4, 9, 16, 25] 14 >>> map(f,l) 15 <map object at 0x00000000031313C8> 16 >>> list(map(lambda x:x**2,[1,2,3,4])) #使用map映射lambda表达式和列表 17 [1, 4, 9, 16]
自定义map:
1 >>> def mymap(f,seq): 2 l=[] 3 for i in seq:l.append(f(i)) 4 return l 5 6 >>> def func(arg): 7 return arg*2 8 9 >>> li=(3,2,5) 10 >>> mymap(func,li) 11 [6, 4, 10]
map应用于内置函数且含多个迭代序列的情况:如果有内置函数建使用,速度快且代码量少。
1 >>> list(map(pow,(3,5,2),{2,3,4})) 2 [9, 125, 16]