Python開發-map函數(提高程序運行效率)


map()函數  根據指定函數對指定序列做映射,在開發中使用map函數也是有效提高程序運行效率的辦法之一

語法定義

'''
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("***"*15)
# 將map函數返回的迭代器保存轉為list,可以多次使用
y = list(map(func1,range(0,10)))
print(y)
print(y)

輸出結果

 

 map函數與匿名函數一起使用

# 匿名函數:一個參數情況,傳一個序列即可
x = list(map(lambda n:n*10,range(10)))  # 序列中的每個元素*10
print(x)    # 輸出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

# 匿名函數:兩個參數情況,傳兩個序列即可,依次類推
y = list(map(lambda a,b:a+b,[1,2,3],[4,5,6]))   # 兩個序列相加
print(y)    #輸出:[5, 7, 9]

效率對比

列表推導式 > map映射函數 > 普通for循環

總結

1,map函數的參數是由函數和一個序列或者多個序列構成

2,map函數處理的結果是迭代器,而且只能迭代一次,如果需要多次使用,請提前保存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM