本節書摘來自異步社群《python資料科學指南》一書中的第1章,第1.17節,作者[印度] gopi subramanian ,方延風 劉丹 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
map是python中的内置函數,它使用一個函數和一個可疊代對象作為參數,形式如下。
<code>map(afunction, iterable)</code>
我們來看一個非常簡單的使用map函數的示例。
我們看看如何使用map函數的示例。
這和上一節中的代碼很相似,map函數有兩個參數,第1個是一個函數,第2個是一個序列。本例中,我們使用了匿名函數。
<code>lambda x:x**2</code>
這個函數求出給定輸入值的平方值。我們還傳遞了一個清單給map函數。
map函數對給定清單中的所有元素應用了求平方值函數,并以清單的形式傳回結果。輸出結果如下。
<code>[100,400,900]</code>
同樣地,其他函數也可以被應用到清單上。
<code>print map(lambda x:x**3,a)</code>
使用map函數,我們可以把上一節中的代碼段改寫成單行的代碼。
如果應用的函數需要n個參數,則map函數參數也需要n個序列,請看下面的示例以增進了解。
我們傳遞了a、b兩個序列給map函數,請注意傳遞的函數是power函數,它需要兩個參數。上面示例的輸出結果如下。
清單a中的各個元素,被計算出以清單b中相同位置的值為指數的幂值。請注意,兩個清單中必須是相同的大小,如果不滿足這個條件,python會自動将較小的那個清單補足空值。這個示例示範的是清單類型,其他任何可疊代對象也都能被傳遞給map函數。