20170226 學習匯總
1.表理解(list comprehension),用於快速地生成一個新的列表
return
[x
for
x
in
sequence
if
x
not
in
self
.blocked]
等價於
l
=
[]
for
x
in
sequence:
if
x
not
in
self
.blocked:
l.append(x)
return
l
2.Scipy
scipy包含致力於科學計算中常見問題的各個工具箱。它的不同子模塊相應於不同的應用。像插值,積分,優化,圖像處理,統計,特殊函數等等。
scipy可以與其它標準科學計算程序庫進行比較,比如GSL(GNU C或C++科學計算庫),或者Matlab工具箱。scipy是Python中科學計算程序的核心包; 它用於有效地計算numpy矩陣,來讓numpy和scipy協同工作。
在實現一個程序之前,值得檢查下所需的數據處理方式是否已經在scipy中存在了。作為非專業程序員,科學家總是喜歡重新發明造輪子,導致了充滿漏洞的,未經優化的,很難分享和維護的代碼。相反,Scipy程序經過優化和測試,因此應該盡可能使用。
3. IDE
集成開發環境(IDE,Integrated Development Environment )是用於提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具。集成了代碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟件服務套。所有具備這一特性的軟件或者軟件套(組)都可以叫集成開發環境。如微軟的Visual Studio系列,Borland的C++ Builder、Delphi系列等。該程序可以獨立運行,也可以和其它程序並用。
4. numpy
4.1 running rates contrast
import numpy as np
my_arr = np.arange(1000000)
my_list = list(range(1000000))
%time for _ in range(10): my_arr2 = my_arr * 2
%time for _ in range(10): my_arr2 = [ x * 2 for x in my_list]
4.2 np.ndim
一個數組中的某個元素,當用數組下標表示的時候,需要用幾個數字來表示才能唯一確定這個元素,這個數組就是幾維。
例如,一個數字確定一個元素:a[7]就是一維的
兩個數字確定一個元素:b[5][9]是二維
三個數字:c[6][8][1]是三維
…………
n個數字就是n維
Number of array dimensions.
>>> x = np.array([1, 2, 3])
>>> x.ndim
1
>>> y = np.zeros((2, 3, 4))
>>> y.ndim
3
20170226 學習匯總