map() 對list的同一下標(biāo)操作(對列操作)
讀入的參數(shù)是(函數(shù),list1,list2,list3)
>>>def? abc(a, b, c):
...??????????? return? a*10000+b*100+c
>>> list1=[11,22,33]
>>> list2=[44,55,66]
>>> list3=[77,88,99]
>>>map (abc,list1,list2,list3)
[114477,225588,336699]
看到并行的效果了吧!在每個list中,取出了下標(biāo)相同的元素,執(zhí)行了abc()。
——————————————
>>> list1=[11,22,33]
>>>map(None,list1)
[11,22,33]
>>> list1=[11,22,33]
>>> list2=[44,55,66]
>>> list3=[77,88,99]
>>>map(None,list1,list2,list3)
[(11,44,77), (22,55,88), (33,66,99)]
行列轉(zhuǎn)換了誒~~~~
等同zip……h(huán)ttp://www.cnblogs.com/frydsh/archive/2012/07/10/2585370.html
x = [1, 2, 3]
y= [4, 5, 6]
z= [7, 8, 9]
xyz=zip(x, y, z)
print xyz
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
——————————————————
基本用法:
Map函數(shù):
原型:map(function, sequence),作用是將一個列表映射到另一個列表,
使用方法:
def f(x):
?????? return x**2
l = range(1,10)
map(f,l)
Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
http://my.oschina.net/zyzzy/blog/115096
注意!python3的變化
>>> map(lambda x: x, [1,2,3])??
返回的就是一個map對象
>>> list(map(lambda x: x, [1,2,3]))
[1, 2, 3]
感覺Python3的用意是map用來處理大數(shù)據(jù),所以返回 iteration 免得吃掉太多內(nèi)存,一般情況下用list comprehension,或者直接for循環(huán)。
官方不推薦map生成list
http://segmentfault.com/a/1190000000322433
