2-4:串列、元組
Chapter 02:程式基礎教學

2-4:串列、元組

串列,又名列表,在 App Inventor 裡叫清單、在 CJava 語言,則是稱為陣列。

將串列想像成是一個櫃子,每一層抽屜都能存放資料,而抽屜外會有一個編號,我們稱為索引碼,Python 語言的第一個索引碼從 0 開始,如果我們想取第一筆資料,那麼我們就找索引碼為 0 的抽屜。

P.S.
App Inventor,清單的索引碼從 1 開始。

接著,我們來看看在 Python 語言裡,該怎麼實作串列。





串列的初始化

實作語法如下:
串列名稱 = [資料0, 資料1, 資料2, ………]

name = [“James”, “Kirk”, “Bruce”, “Tony”]

name 是一個串列變數,裡面存放姓名。
如果我要取得 Kirk 這筆資料,就要撰寫下方語法來取出資料:
print(name[1])

name[1] 這裡的 1 就是索引碼。


串列搭配迴圈

通常要使用迴圈來印出串列的資料,我們會先取得串列的長度,這個長度就是迴圈的執行次數,再來將迴圈變數當作索引碼,來取得串列的值,如下:

name = ["James", "Kirk", "Bruce", "Tony"]
n = len(name)

for i in range(n):
  print(name[i])

但是在 Python 裡,有更方便的做法,如下:

name = ["James", "Kirk", "Bruce", "Tony"]

for i in name:
  print(i)

使用這個做法,迴圈每次執行,i 的值就會是串列變數 name 的值。


串列與元組

元組使用起來和串列沒什麼太大的差別,只是它無法更改資料,一開始初始化後,值就是固定的。初始化語法如下:
name = (
James, Kirk, Bruce, Tony)

與串列的差別為,串列使用 [] 符號,元組使用 () 符號。


問題:串列和元組可以互相轉換嗎?
答案:可以喔!可以使用 list 命令和 tuple 命令做轉換

tupleData = (1, 2, 3)

listData = list(tupleData)
print(listData)


listData2 = [4, 5, 6]

tupleData2 = tuple(listData2)
print(tupleData2)

增加、修改串列資料

剛剛有講到,元組是無法更改和新增資料的!那麼串列可以嗎?
當然可以!!!

先來講修改資料,實作方法非常簡單,如下:
name = [
James, Kirk, Bruce, Tony]

我們將第四筆資料 Tony,改成 Tom

name = ["James", "Kirk", "Bruce", "Tony"]
print(name[3])

name[3] = "Tom"
print(name[3])

這樣就完成變更了!很簡單吧


接下來是新增資料,我們可以使用 append 命令,實作如下:
name = [
James, Kirk, Bruce, Tony]

我們要在 Tony 後面再新增一個姓名 Tom

name = ["James", "Kirk", "Bruce", "Tony"]
print(name)

name.append("Tom")
print(name)

這樣就完成新增囉!

其實串列還有很多玩法,但一次全講出來初學者絕對會搞混!
之後有興趣我再來一一介紹!!

P.S. Python
有一個很常見的套件叫 numpy,是比串列還要強大的陣列。未來有機會也會做一次詳細的教學。敬請期待








如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

發表迴響