文章目錄
本單元測驗:
集合 (Set) 用於將多個元素儲存在單一變數中。同時集合 (Set) 也是 Python 中用來儲存資料的 4 種內建資料型態之一,其他 3 種則分別是串列 (List)、元組 (Tuple) 和字典 (Dictionary),它們都各自具有不同的特性及用途。了解 Python 元組 (Tuple) 的基本概念及使用方式,對於活用 Python 程式設計是非常重要的。
1. 集合 (Set)
Python 中的集合則具有下面特性:
- 集合是無順序性的項目集合。
- 每個元素都是唯一的(沒有重複),必須是不可變的(不能更改)。
- 集合本身是可變動的,所以我們可以增加或刪除集合中的項目。
- 集合可用來執行數學集合的操作,如交集、聯集及差集等。
2. 建立集合(Set)
- 通過將所有項(元素)放在花括號{}內,用逗號分隔或使用內置函數set()來創建集合。
- 它可以有任意數量的項目,它們可以是不同的類型(整數,浮點數,元組,字符串等)。 但是一個集合不能將可變元素(如list,set或dictionary)作為其元素。
範例 1:建立空集合 (empty set)
範例 2:建立整數型態項目集合 (set)
範例 3:建立混合資料型態項目之集合 (set)
範例 4:集合(set) 元素不會重複
範例 5:集合(set)內元素是不可變動的(不能更改)
集合內元素是不可變動的(不能更改),集合本身則是可變動的。[3, 4]是可變動的串列,所以不能當作集合元素。
範例 6:將串列 (List) 轉換為集合 (Set)
利用 set() 函式,將串列 (list) 型態轉換為集合 (set) 型態。
3. 更改元素
3.1 加入元素
範例 7:集合(Set)無索引
集合 (Set) 無索引,所以會出現下面錯誤。
範例 8:add():加入一個元素
範例 9:update():加入多個元素
3.2 捨棄或移除元素
範例 10:discard():捨棄一個元素
範例 11:remove():移除一個元素
範例 12:discard() 跟 remove() 差異
discard() 跟 remove() 唯一差別是,如果項目中不存在欲移除項目,使用 discard() 時,它將保持不變;但使用 remove() 會出現錯誤。
3.3 移出或清除元素
範例 13:pop():移出元素
範例 14:clear():清除元素
4. 其他集合 (Set) 運算
4.1 集合(Set)成員檢查
範例 15:檢查成員是否在集合當中
4.2 集合(Set)迭代
範例 16:使用 for 迴圈迭代集合 (Set) 中的項目
我們可以使用 for 迴圈來迭代集合 (Set) 中的每個元素。有關 for 迴圈的詳細用法,我們會在後面文章中介紹。
4.3 集合(Set)內建函式
範例 17:len():取得集合長度
範例 18:max():傳回集合中元素最大值
範例 19:min():傳回集合中元素最小值
範例 20:sum():傳回集合中所有元素總和
5. 集合 (Set) 數學運算
讀者也可以從數學角度來看集合 (Set),首先我們來看看數學對集合的相關定義如下:
- 集合是由滿足某些條件的物件組合,通常用大括號將這些物件寫在一起,這些物件稱為元素。若集合 A 表示 1 到 5 的正整數 => A = { 1 , 2 , 3 , 4 , 5 }
- 不包含任何元素的集合稱為空集合{ },以符號∅表示。
- 若集合 A 中的每個元素都在集合 B 中,我們稱集合 A 為集合 B 的子集,以符號 A ⊂ B (讀 作「A 包含於 B」)表示。
- 範例:A = { 1 , 2 , 3 , 4 , 5 } , B = { 1 , 3 , 5 , 7 , 9 }
- A 與 B 的交集: A ∩ B = { 1 , 3 , 5 }
- A 與 B 的聯集: A ∪ B = { 1 , 2 , 3 , 4 , 5 , 7 , 9 }
- A 與 B 的差集: A − B = A − A ∩ B = { 2 , 4 }
5.1 交集 (使用 & 運算子或 intersection() )
使用 & 運算子或 intersection() 來做交集
範例 21:集合的交集運算
5.2 聯集 (使用 | 運算子或 union() )
使用 | 運算子或 union() 來做聯集。
範例 22:集合的聯集運算
5.3 差集 (使用 – 運算子或 difference() )
使用 – 運算子或 difference() 來做差集。
範例 23:集合的差集運算
經由本篇文章介紹後,初學者對 Python 資料型態中非常重要的集合 (Set) 型態應該有了基本認識,後續會持續分享 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)