1. 程式人生 > >python map() 和 numpy函式:fromfunction以函式式建立陣列

python map() 和 numpy函式:fromfunction以函式式建立陣列

map()函式接收兩個引數,一個是函式,一個是序列map將傳入的函式依次作用到序列的每個元素,並把結果作為新的list返回

舉例說明,比如我們有一個函式f(x)=x%2,要把這個函式作用在一個list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()實現

#使用lambda函式

>>> print map(lambda x: x % 2, range(7))

[0, 1, 0, 1, 0, 1, 0]

一個最簡單的例子,如基於f(x) = x²,map()作用於list [1, 2, 3, 4, 5, 6, 7, 8, 9]後的結果如下:返回結果仍為list

fromfunction函式一般是什麼時候有用呢?它的作用是從函式中建立陣列。給函式繪圖的時候就會用到。

示例:

函式y=i*2。

以下使用fromfunction函式,建立一個數組a,a返回的結果是經過我們自定義的函式的結果,所以a中儲存的是y的值,而i其實就是陣列的索引;也就是說,陣列a儲存的是i取值從0到1時,y的值。fromfunction的第二個引數定義了輸出陣列的形狀,也表示i的取值範圍。


如果要建立的是二維陣列,則函式式需要兩個自變數,比如y=i*j: