python map方法 python map函式

2021-10-11 20:16:01 字數 1620 閱讀 2454

定義

function:函式名

iterable:乙個序列或者多個序列,實際上這就是function對應的實參

map(function, iterable, ...)

練習def func1(x):

# 對序列中的每乙個元素乘以10並返回

return x*10

map() 會根據提供的函式對指定序列做對映。

序列中的每乙個元素呼叫 func1 函式,返回新列表。

x = map(func1,range(0,10))

print(list(x))

# map函式返回的迭代器只能迭代一次,迭代之後會自動清空

print(list(x))

print("***"*20)

# 將map函式返回的迭代器儲存轉為list,可以多次使用

y = list(map(func1,range(0,10)))

print(y)

print(y)

輸出結果

[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

map函式配合匿名函式一起使用

# map函式配合匿名函式使用

x = list(map(lambda a:a*10,range(0,10))) # 序列中的每個元素乘以10

print(x)

# map函式配合匿名函式使用,匿名函式有兩個引數,所以map傳引數應該也是兩個序列

y = list(map(lambda a,b:a+b,[1,2,3,5,6,7],[10,20,30,50,60,70])) # 兩個序列相加

print(y)

結果[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

[11, 22, 33, 55, 66, 77]

效率比對

import time

list1 = list()

# 普通for迴圈

start = time.clock()

for i in range(0,10000000):

print("普通for迴圈耗時:",time.clock() - start)

# 列表推導式

list1.clear()

start = time.clock()

list1 = [i for i in range(0,10000000)]

print("列表推導式迴圈耗時:",time.clock() - start)

# map對映函式

list1.clear()

start = time.clock()

list1 = list(map(lambda x:x,range(0,10000000)))

print("map對映函式耗時:",time.clock() - start)

結果普通for迴圈耗時: 1.1869014999999998

列表推導式迴圈耗時: 0.5339119999999999

map對映函式耗時: 0.9047431000000001

python map函式的使用方法

map函式是python的內建函式之一。函式形式 map fun,iter 我們將可迭代資料iter傳遞給fun函式進行操作。nb 注意 後面的部分表示輸出結果 如下 def func n return len n x map func,hello world print x print list ...

python map函式用法

1,第乙個引數接收乙個函式名,第二個引數接收乙個可迭代物件 list1 1,2,3 result map str,list1 print result 列印結果 1 2 3 2,如果第乙個引數傳入none,第二和第三個引數傳入兩個可迭代物件,那map 的功能同zip list1 1,2,3 list...

python map 函式用法

map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。例如,對於list 1,2,3,4,5,6,7,8,9 如果希望把list的每個元素都作平方,就可以用map 函式 因此...