在序列中映射函数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]

 

posted @ 2017-11-13 20:03  xiongjiawei  阅读(164)  评论(0)    收藏  举报