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小教室!
Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.