Python陣列:索引取值、組合運算、元素檢查及長度

Python可以用陣列語法處理大量資料,在以財務報表要素為例,說明如何建立陣列,依索引序號取值,進而重新組合,加法乘法計算,檢查陣列元素以及長度。

一、陣列索引取值

陣列是數學概念,由很多數字組成的資料。以熟悉的Excel來說,一個陣列代表儲存格範圍,如果是單一欄或是單一列便是一維陣列,表格範圍便是二維陣列。在此以現金流量表三大活動作為程式範例,它是屬於一維陣列,想利用索引值以序號方式取得陣列中某個元素的資料值。注意到程式都是從零開始,第零個其實就是陣列裡的第一個,因此程式執行結果如截圖所示。

Python陣列:索引取值、組合運算、元素檢查及長度 1

二、負數陣列索引

Python陣列取值有個很特別的地方,可以用負數方式取值,例如這裡看到的[-1]代表倒數第一個,[-2]是倒數第二個。

一張含有 桌 的圖片

自動產生的描述

三、陣列重新組合

陣列還可以重新排列,組合的時候有三個參數,第一個參數是開始位置,第二個參數是結束位置,第三個則是像一般程式迴圈的等差級數。先前第一步驟有提到程式都是從零開始,因此第二個參數結束位置會是陣列中前一個位置的資料值。以截圖看到的財務報表作為範例,[0:3]是五大財報要素的前三項,便是資產負債表主要科目,綜合損益表及權益變動表是相同規則將五大財報要素重新組合。

最後一項「等差二取值」是第三個參數的程式代碼範例,和前面BS、IS、OE的範例相比,應該能了解第三個參數通常可以省略,省略時預設值為等差1,這個無論在重新排列組合或者迴圈控制流程都是通常可省略的用法。

一張含有 桌 的圖片

自動產生的描述

四、陣列加法運算

陣列的加法計算規則很簡單,作用是把兩個陣列元素(或者稱之為資料值)相加起來。這裡同樣使用五大財報元素的範例,先排列組合得到資產負債表及損益表,再把這兩個財報陣列加起來,又得到了五大財務報表要素。

Python陣列:索引取值、組合運算、元素檢查及長度 5

五、陣列乘法運算

陣列乘法計算和加法一樣相同直覺,例如這個範例看到的資產負債表乘以二(「BS*2」),綜合損益表乘以三(「IS*3」),結果就是陣列元素乘以相對應數量次數的資料值。

Python陣列:索引取值、組合運算、元素檢查及長度 7

六、陣列元素檢查

陣列元素檢查是運用英文「in」關鍵字進行相同意義的計算,舉例而言,檢查「資產」是不是財報五大要素,答案會是「TRUE」正確;「現金」是否為五大財報要素,答案當然是「FALSE」錯誤。

Python陣列:索引取值、組合運算、元素檢查及長度 9

七、陣列長度計算

Excel函數中有個len函數非常好用,可以計算字串文字的長度,而在Python程式裡同樣可以利用len函數計算陣列有多少項資料,以五大財務報表要素為例,計算得到共有五個。

Python陣列:索引取值、組合運算、元素檢查及長度 11

從Excel到Python的程式陣列

Excel的一個儲存格的資料值其實就是一個陣列元素值,只不過Excel是用視覺化座標方格紙呈現大量的資料,而在python程式裡並沒有工作表也沒有座標方格紙,因此是使用較為純粹的陣列形式去組合大量資料。本篇文章範例雖然簡單,資料個數不多,不過務必要掌握以陣列方式處理資料的技巧,因為當要用程式處理大量資料時,大致上也是從簡單的數學邏輯概念開始的,所以相當基礎且重要。zanzan.tw © 2022

每天學習,每天充電:Python文章合集

Python陣列:索引取值、組合運算、元素檢查及長度 13
歡迎加入Line社群,口袋裡的VBA小教室!