5. 陣列 (字串、串列、元組)
在Python中,陣列大致分為3種形式:
字串【str】
串列【list】:可變動陣列(可簡單刪改內容)
元組【tuple】:不可變動陣列(無法簡單刪改內容)
I. 陣列共通的概念
A. 何謂陣列
陣列其實就是由一串相連在一起的變數所構成

陣列需要取名稱
陣列中的每一格都有專屬編號(索引)
陣列索引值由0開始
B. 為何需要陣列
之前我們所學的資料儲存方式都是利用變數 每當我們需要一個變數我們都得宣告一次 但倘若哪天我們有上千上萬筆資料空間需求時呢? 除了要大量宣告變數外,變數命名也是非常令人頭疼的事 (例如:a1 = 0, a2 = -2, .... , a100 = 10) 是不是很容易命名到手軟呢~ 這時候若能利用陣列來儲存,那就能避免大量變數命名的痛苦了
C. 陣列的宣告與賦值
字串

串列
空串列
被賦值的串列

讀取一行多筆資料進串列中
將字串改為串列
元組
D. 取陣列中的值
陣列的存取方式都是透過[]


E. 計算陣列長度
使用len()
注意! 空格、特殊符號都算一種字元唷! 同時也占據一格空間
F. 陣列切片(Slicing)
字串切片
用:做切片
串列切片
元組切片
【例題】
下方是某首歌曲中的一小段歌詞
別逼一個最愛你的人 即興表演 什麼時候我們開始 沒有了底線 順著別人的謊言 被動就不顯得可憐
請擷取歌詞中的最後一句
G. 更改陣列中的值
字串
更改字串中特定位置的值
將字串裡的所有某子字串全改為另個子字串
使用replace()
錯誤方式
注意! python中,字串不得直接用 a[] = " " 的方式更改!
串列
元組
無法直接改動元組內容的值
間接改動元組內容的值(先轉為list變動完後再轉回tuple)
H. 陣列中的子陣列
使用index()
index()字串
串列
元組
使用find()
find()串列與元組均無法使用find(),而find()與index()最大差異在於:當找不到希望的子陣列時,會回傳-1而非ValueError
判斷某子陣列是否有在某陣列中
使用 in 或 not in
字串
串列
元組
I. 陣列搭配迴圈
字串
串列
元組
J. 陣列變字串
使用join()
字串每隔間插入新字串
串列每隔間插入新字串
元組每隔間插入新字串
K. 陣列的合併
字串
使用+
串列
Python串列中允許同時並存多種形態的值
使用+
使用extend()
元組
使用+
L. 計算陣列中某物件出現次數
使用count()
字串
串列
元組
M. 加物件進陣列中
字串
串列
使用append()加物件至串列最末一個位置
使用insert()加物件至串列中特定位置
利用+=方式
在串列中加入子串列(形成多維串列)
元組
元組為不可變動陣列,不得隨意增加物件
N. 移除陣列或其內容
字串
直接使用+重組字串
使用replace()
串列
使用remove()【移除串列中指定物件】
使用pop()【移除串列中最後一個物件】
使用pop()【移除串列中指定索引值的物件】
使用del【移除串列中指定索引值的物件】
使用del【移除整個串列】
使用clear()【清空整個串列】
使用del【清空整個串列】
元組
元組不得直接刪除陣列中內容
O. 陣列中最大值、最小值、總和
在電腦中,任何字元都有個專屬的編碼,例如:ASCII、Unicode、UTF-8 ... 等
字串
串列
下方為補充
元組
下方為補充
II. 字串(str)專屬用法
A. 英文字母大小寫轉換
使用lower()及upper()
B. 字串與變數或數字串接
也可以將要放的地方做編號(從0開始)
C. 格式化數字
格式化數字【放在{}中】有很多種類,在此只舉一些較常用的
輸入值
格式
輸出
解釋
3.1415926
{:.2f}
3.14
.2表示保留小數點後2位(4捨5入)
f表示float(小數)
13
{:x>5d}
xxx13
x表示用x字元填補
>表示填補左方(向右對齊)
d表示decimal(10進位數字)
5d表示格式寬度為5個字元
13
{:#<5d}
13###
#表示用#填補
<表示填補右方(向左對齊)
5d表示格式寬度為5個字元
5
{:!^5d}
!!5!!
!表示用!填補
^表示置中對齊
A
{0:a^5}
aaAaa
0表示此{}的編號
5後面什麼都不放代表字串格式
A
{name:a^5}
aaAaa
name表示此{}的名稱
5後面什麼都不放代表字串格式
III. 串列 (list)專屬用法
list)專屬用法A. 串列複製【補充】
注意! Python中不得直接指定整串陣列到另一個,這會使得更動一個串列另一個也跟著連動
方法一
方法二
深度複製【補充】
使用copy()複製多維度的串列會遇到的問題
使用deepcopy()可以複製多維度的串列【需要import copy】
B. 排序串列中的物件
由小至大排列
由大至小排列
C. enumerate【補充】
enumerate()可將串列轉為元組型態的(數值+索引值)
D. 多維度串列
二維串列的表示方式

三維串列的表示方式

二維串列的創造
二維串列的長度
二維串列的存取
多維串列的複製【補充】
使用deepcopy()【需要import copy】
IV. 元組 (tuple)專屬用法
A. 為何需要tuple?
tuple?有些程式是需要存取陣列中固定某格當中的值,這時若用List來儲存可能會不小心更動到該格的數值進而影響結果,這時使用Tuple就能夠避免這類問題發生,因為Tuple是不可被變動的
V. 學習單
VI. 附檔
A. 提示程式碼
B. 文章
壬戌之秋,七月既望,蘇子與客泛舟遊於赤壁之下。清風徐來,水波不興。舉酒
屬客,誦明月之詩,歌窈窕之章。少焉,月出於東山之上,徘徊於斗牛之間。白
露橫江,水光接天。縱一葦之所如,凌萬頃之茫然。浩浩乎如馮虛御風,而不知
其所止;飄飄乎如遺世獨立,羽化而登仙。 於是飲酒樂甚,扣舷而歌之。歌曰:
“桂棹兮蘭槳,擊空明兮溯流光。渺渺兮予懷,望美人兮天一方。”客有吹洞簫
者,倚歌而和之。其聲嗚嗚然,如怨如慕,如泣如訴;餘音嫋嫋,不絕如縷。舞
幽壑之潛蛟,泣孤舟之嫠婦。 蘇子愀然,正襟危坐,而問客曰:“何爲其然也?”
客曰:“‘月明星稀,烏鵲南飛。’此非曹孟德之詩乎?西望夏口,東望武昌,山川
相繆,鬱乎蒼蒼,此非孟德之困於周郎者乎?方其破荊州,下江陵,順流而東
也,舳艫千里,旌旗蔽空,釃酒臨江,橫槊賦詩,固一世之雄也,而今安在哉?
況吾與子漁樵於江渚之上,侶魚蝦而友麋鹿,駕一葉之扁舟,舉匏樽以相屬。寄
蜉蝣於天地,渺滄海之一粟。哀吾生之須臾,羨長 江之無窮。挾飛仙以遨遊,
抱明月而長終。知不可乎驟得,託遺響於悲風。” 蘇子曰:“客亦知夫水與月乎?
逝者如斯,而未嘗往也;盈虛者如彼,而卒莫消長也。蓋將自其變者而觀之,則
天地曾不能以一瞬;自其不變者而觀之,則物與我皆無盡也,而又何羨乎!且夫
天地之間,物各有主,苟非吾之所有,雖一毫而莫取。惟江上之清風,與山間之
明月,耳得之而爲聲,目遇之而成色,取之無禁,用之不竭。是造物者之無盡藏
也,而吾與子之所共適。”(共適 一作:共食) 客喜而笑,洗盞更酌。餚核既盡,
杯盤狼籍。相與枕藉乎舟中,不知東方之既白。
臣亮言:先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋
也。然侍衛之臣不懈於內,忠志之士忘身於外者,蓋追先帝之殊遇,欲報之於陛
下也。誠宜開張聖聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失
義,以塞忠諫之路也。 宮中府中,俱爲一體;陟罰臧否,不宜異同:若有作奸
犯科及爲忠善者,宜付有司論其刑賞,以昭陛下平明之理;不宜偏私,使內外異
法也。 侍中、侍郎郭攸之、費禕、董允等,此皆良實,志慮忠純,是以先帝簡
拔以遺陛下:愚以爲宮中之事,事無大小,悉以諮之,然後施行,必能裨補闕
漏,有所廣益。 將軍向寵,性行淑均,曉暢軍事,試用於昔日,先帝稱之曰
“能”,是以衆議舉寵爲督:愚以爲營中之事,悉以諮之,必能使行陣和睦,優劣
得所。 親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此後漢所以傾
頹也。先帝在時,每與臣論此事,未嘗不嘆息痛恨於桓、靈也。侍中、尚書、長
史、參軍,此悉貞良死節之臣,願陛下親之、信之,則漢室之隆,可計日而待
也。 臣本布衣,躬耕於南陽,苟全性命於亂世,不求聞達於諸侯。先帝不以臣
卑鄙,猥自枉屈,三顧臣於草廬之中,諮臣以當世之事,由是感激,遂許先帝以
驅馳。後值傾覆,受任於敗軍之際,奉命於危難之間:爾來二十有一年矣。 先
帝知臣謹慎,故臨崩寄臣以大事也。主員受命以來,夙夜憂嘆,恐託付不效,以
傷先帝之明;故五月渡瀘,深入不毛。今南方已定,兵甲已足,當獎率三軍,北
定中原,庶竭駑鈍,攘除奸兇,興復漢室,還於舊都。此臣所以報先帝而忠陛下
之職分也。至於斟酌損益,進盡忠言,則攸之、禕、允之任也。 願陛下託臣以
討賊興復之效,不效,則治臣之罪,以告先帝之靈。若無興德之言,則責攸之、
禕、允等之慢,以彰其咎;陛下亦宜自謀,以諮諏善道,察納雅言,深追先帝遺
詔。臣不勝受恩感激。 今當遠離,臨表涕零,不知所言。
人之初,性本善,性相近, 習相遠 , 苟不教, 性乃遷, 教 之道, 貴以專,
昔孟母, 擇鄰處,子不學,斷機杼, 竇燕山, 有義方,教五子,名 俱揚,
養不教, 父之過,教不嚴,師之惰, 子不學, 非所宜,幼不學,老何 為,
玉不琢, 不成器,人不學, 不知義, 為人子, 方少時,親師友,習 禮 儀,
香九齡, 能溫席,孝於親, 所當執, 融四歲,能讓梨,弟於長,宜先知,
首孝弟,次見聞,知某數,識某文, 一而十,十而百,百而千,千而萬,
三才者, 天地人,三光者,日月星, 三綱者,君臣義,父子親,夫婦順,
日春夏,日秋冬, 此四時,運不窮, 曰南北,曰西東, 此四方,應 乎中,
曰水火, 木金土, 此五行, 本乎數,
Last updated
Was this helpful?