python map() 和 numpy函式:fromfunction以函式式建立陣列
阿新 • • 發佈:2019-02-02
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: