文章目錄
本單元測驗:
元組 (Tuple) 用於將多個元素儲存在單一變數中,同時元組 (Tuple) 也是 Python 中用來儲存資料的 4 種內建資料型態之一,其他 3 種則分別是串列 (List)、集合 (Set) 和字典 (Dictionary),它們都各自具有不同的特性及用途。了解 Python 元組 (Tuple) 的基本概念及使用方式,對於活用 Python 程式設計是非常重要的。
1. 元組 (Tuple)
元組 (Tuple) 是一個值的序列 (sequence),它很像一個串列,可以容納一系列項目。儲存在元組中的值可以是任何類型,並且它們利用整數進行索引。與串列重要的區別是元組具有不可變動性(Immutable)。幾個重要的特性如下圖:
現在就讓我開始認識及操作元組 (Tuple) 吧!
2. 建立元組 (Tuple)
有幾種方法可以建立新元組,最簡單的方法就是將元素放在小括號(“(”和 “)”)當中。
範例 1:建立空元組 (empty tuple)
範例 2:建立整數型態項目之元組 (tuple)
範例 3:建立混合資料型態項目之元組 (tuple)
範例 4:建立巢狀元組 (tuple)
3. 元組 (Tuple) 存取
範例 5:索引 (indexing)
利用索引方式存取元組 (Tuple) 中任意元素。
範例如下:
其運作方式如下:
範例 6:切割 (slicing)
可利用索引對元組 (Tuple )進行切割,其用法格式如下:
範例如下:
其運作方式如下:
範例 7:連接 (concatenating)
可以將元組(Tuple)用 + 連接起來。
範例 8:乘以 (multiplying)
可以用 * 對元組(Tuple)做倍數處理。
範例 9:元組(Tuple)中的資料具不可變動性
與串列(List)不同,元組(Tuple)是不可變動的。所以欲異動任何一筆資料時會出現 TypeError。
範例 10:無法更改元組(Tuple)中的元素
元組(tuple)資料具不可變動性,所以不能刪除元組(tuple)內的項目。
但是可以刪除整個元組(tuple)。出現錯誤是因為我們要求列印 fruits 元組,但因為已經刪除所以會出現沒有被定義的狀態。
有上面範例可以知道,我們無法更改元組(tuple)中的元素。
範例 11:將串列 (List) 轉換為元組 (Tuple)
利用 tuple() 函式,將串列 (List) 型態轉換為元組 (Tuple) 型態。
4. 元組方法 (Tuple Methods)
範例 12:count():傳回所需計數元素(項次)數量
範例 13:count():回傳第一次出現元素(項次)的索引
5. 其他元組 (Tuple) 運算
範例 14:元組 (Tuple) 成員檢查
檢查元素是否在元組內 (使用 in / not in)
範例 15:元組 (Tuple) 迭代
使用 for 迴圈,我們可以迭代元組 (Tuple) 中的每個元素。有關 for 迴圈的詳細用法,我們會在後面文章中介紹。
經由本篇文章介紹後,初學者對 Python 資料型態中另一個重要的元組 (Tuple) 型態應該有了基本認識,後續會持續分享 Python 相關學習文章給有興趣的初學者。
6. Python 練習
學習環境:Google Colab (學習請按我)
練習範例:有 (本文提供)
Quiz:有 (測驗請按我)
如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)與追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。
【Python for Beginner 系列文章】
Python for Beginners (1)|Python 介紹及相關開發環境簡介
Python for Beginners (2)|變數 (Variables) 及關鍵字 (Keywords)
Python for Beginners (3)|敘述 (Statement)、縮排 (Indentation) 及註解 (Comments)
Python for Beginners (4)|運算子 (Operators)、輸入 (Input)、輸出 (Output)及 import 簡介
Python for Beginners (5)|各類運算子 (Operators) 詳細介紹與使用
Python for Beginners (6)|數值 (Numeric) 資料型態介紹與使用
Python for Beginners (7)|字串 (String) 資料型態介紹與使用
Python for Beginners (8)|布林 (Boolean) 資料型態介紹與使用
Python for Beginners (9)|串列 (List) 資料型態介紹與使用
Python for Beginners (10)|元組 (Tuple) 資料型態介紹與使用
Python for Beginners (11)|集合 (Set) 資料型態介紹與使用
Python for Beginners (12)|字典 (Dictionary) 資料型態介紹與使用
Python for Beginners (13)|條件判斷式 – if 相關敘述及使用
Python for Beginners (14)|迴圈控制 – while loops
Python for Beginners (15)|迴圈控制 – for loops
Python for Beginners (16)|函式 (Functions)
Python for Beginners (17)|模組 (Module)及套件(Package)
Python for Beginners (18)|檔案處理 (File Handling)
3 comments
站長KC哈囉!
很感謝你很用心的謝了這一系列python for begineers文章~今日白天按順序拜讀、在python IDLE shell上操作測試,都非常詳細且好懂,未來也會繼續追蹤此一系列文章慢慢學習的!
有兩個疑問想在此向您詢問:
1. 讀畢文章(9)、(10)的list和tuple,我發現tuple與list 的不同之處似乎只在於要用[]還是()符號,以及tuple的元素是不可變動的此2個差別,這樣子好像tuple與list相比功能近乎相同,且好像還更不方便一些XD,不知道這樣的認知是否正確?有什麼狀況是使用tuple才作得到、或可以比list更好的呢?
2. 有關本文(10)第5大點其他tuple運算部分,副標題的範例14、範例15好像不小心打成串列(list)成員檢查與迭代,是否應該改成元組(tuple)呢?
謝謝您的回饋,有關詢問的部分簡單說明如下:
1.list跟tuple差別除了符號使用及資料是否可變動性不同之外,detail的部分還有迭代速度及記憶體使用消耗等差異,也因為有這些差異在實際應用上就會根據需求做選擇。由於Simple Learn網站主要是希望提供初學者一個簡單易學的學習園地😊,所以較為困難或進階部分在文章中就暫時不特別說明,但我們會另外分享一些我們覺得還不錯的學習資源給大家參考。同時有關這一部份的比較,我們會另外找時間整理提供大家參考😄。
2.所提範例14、範例15誤植部分已調整,謝謝您相關的回饋意見,也期待你持續追蹤 Simple Learn 唷。
了解~相信繼續慢慢學習,自己也能發現應用上該如何根據需求做選擇的!
謝謝您的回覆,也期待您往後的分享