numerate 函式的學習

2021-08-27 08:37:39 字數 1385 閱讀 1472

在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...