它在Python中很常見,但容易被忽視,用好了卻可少寫不少行代碼

全文750字,書寫和排版時間45分鐘,只爲幫助到您,歡迎點擊上方藍色字體關注。php

號內福利css

精華文章大合集:  認真就能打動人:273篇乾貨資料彙總python

機器學習入門視頻  吳恩達機器學習完整系列視頻教程程序員


今天,介紹一個Python中很是好用的內置函數,它書寫簡便,卻能實現看起來複雜的功能。web


它就是map函數。面試


map函數的原型是map(function, iterable, …),它的返回結果是一個map對象。算法


參數function傳的是一個函數名,能夠是python內置的,也能夠是自定義的。 參數iterable傳的是一個能夠迭代的對象,例如列表,元組,字符串這樣的。微信


這個函數的意思就是將function應用於iterable的每個元素,結果以map的形式返回。數據結構


注意觀察,iterable後面還有省略號,意思能夠傳很多個iterable,若是有額外的iterable參數,並行的從這些參數中取元素,並調用function。框架


下面舉例說明map的用法。


內置函數

str()是python的內置函數,這個例子是把列表/元組/字符串的每一個元素變成了str類型:


a=list(map(str,'python'))print(a)
['p','y','t','h','o','n']


自定義函數

一般使用lambda匿名函數,這樣寫起來簡便。

 # 使用 lambda 匿名函數list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) 
[1, 4, 9, 16, 25]


多個iterable實例

例子以下:

map(lambda xyx + y[1, 3, 5, 7, 9][2, 4, 6, 8, 10])


注意兩個細節:

  1. lambda中的參數個數等於iterable實例的個數;

  2. 每一個iterable內的元素個數沒必要相等,返回元素個數等於最短的iterable對應的長度。


系列第10篇原創。點在看,留下你的足跡。

更多精華、福利:

一、程序員必知的算法和數據結構:2500字性能總結

二、純碎coding:7個最經常使用的排序算法

三、這是一條通往 AI 的路......

四、玩轉Pandas,讓數據處理更easy系列1

五、爲何要有深度學習?系統學習清單

六、更多幹貨,詳見:乾貨資料分類彙總

     程序員必知算法,Python與數據分析,

     機器學習入門清單、深度學習理論框架、

     面試經驗總結,號內福利


一個用心的公衆號


本文分享自微信公衆號 - Python與算法社區(alg-channel)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索