在python中,enumerate() 函式可以生成乙個開便利的資料物件,這些資料物件可以是列表,元組或者字串,對於生成的資料物件不僅有資料內容,還自動帶有乙個索引序列,我們可以看一些乙個例子。
首先我們可以生成乙個陣列:
data=np.arange(0,9)
data
在jupyter notebook中可以看到這時的結果應該是
現在我們嘗試如下:
list(enumerate(data))
這時會生成如下的結果:
可以看到生成的結果是乙個帶有索引的列表
當然,還可以制定索引的起始點,實際enumerate()函式有兩個引數:
enumerate(sequence, start=i)
其中,sequence為我們要找的序列,start是索引起始的位置,這裡我們還是以data陣列為例來看看,我們寫如下語句
list(enumerate(data,start=4))
執行結果如下所示:
可以看到此時索引從4開始,如果換成0呢?
list(enumerate(data,start=0))
執行出來的結果是這樣的:
這時索引從0開始,內容還是那個內容。
這樣的結果可以我們可以用在for迴圈中:
首先我們先生成乙個1-10的乙個序列,**為:
seq=np.
linspace(1,10,10,dtype='int')
這時我們使用for迴圈:
for i,data in enumerate(seq):
print(i,data)
得到的結果為:
我們可以看出,在引用for迴圈的時候,i為索引,data為資料內容,預設索引是從0開始的
遞迴函式的學習
所謂遞迴就是允許程式呼叫自己本身的過程或函式。然面此程式卻不能無限制地呼叫自己,否則將永不停止。也就是說,它必須有乙個 終止條件 當程式碰到此終止條件就不用再呼叫自己,而直接將結果算出來返回給呼叫者。解決方法有兩種 1 自頂向下的形態 2 將大問題拆成子問題的型別 下面以八皇后的問題來說明 源 in...
函式物件的學習
include include include include includeusing namespace std class mymax bool myless int a1,int a2 templatet2 mycompare t2 first,t2 last,t3 t3 return ma...
Swift的學習 函式
函式 執行某個特定任務的 塊 swift 函式有乙個type,包含了兩個內容,函式的引數型別與返回值型別 函式可以作為引數傳遞 也可以作為返回值 還可以巢狀使用 定義乙個無引數函式 引數在 內,返回值型別用 表示 函式的宣告 func,sayhello為函式名 func sayhello strin...