用最直白的語言解釋最複雜的概念,一系列教學讓你在短時間內掌握 Python
集合 (set)
Set 介紹
- 特色:無順序、可修改、不允許重複元素
- 創建方式:使用大括號 {} 或 set() 函式
- 若定義時包含重複元素,集合只會保留一個 例如:S = {1, 2, 3, 1, 3} → 結果只剩 {1, 2, 3}
Set 程式範例

定義集合

新增、刪除元素

集合運算
- .union():聯集(也可寫作 set1 | set2)
- .intersection():交集(也可寫作 set1 & set2)
- .difference():差集(也可寫作 set1 - set2)
- .symmetric_difference():對稱差集(也可寫作 set1 ^ set2)
- 補充:
_update
結尾的方法會直接改變 set1 的值 例如:set1.intersection_update(set2)
字典 (dictionary)
Dictionary 介紹
- 特色:無順序、可修改、有鍵值對應
- 創建方式:使用大括號 {} 或函式 dict()
- 字典的基本格式為:{"Key": "Value"}
- 可以混合其他資料型態作為 value 例如:{"name": ["Alice", "Emily", "John"], "age": [12, 17, 20]}
Dictionary 程式範例

定義字典

字典方法
- .keys():返回所有鍵(key)
- .values():返回所有值(value)
- .items():返回所有鍵值對(以 tuple 形式)
- .get():取得對應的值,若無該 key 則回傳 None 或指定預設值
補充:*args 與 **kwargs
def foo(param1, *args, **kwargs):
print('Input:', param1)
print('args:', args)
print('kwargs:', kwargs)
print("")
my_tuple = (1, 2)
foo('*my_tuple', *my_tuple)
# Input: *my_tuple
# args: (1, 2)
# kwargs: {}
my_list = [1, 2]
foo('*my_list', *my_list)
# Input: *my_list
# args: (1, 2)
# kwargs: {}
my_dict = {'a': 1, 'b': 2}
foo('*my_dict', *my_dict)
# Input: *my_dict
# args: ('a', 'b')
# kwargs: {}
foo('**my_dict', **my_dict)
# Input: **my_dict
# args: ()
# kwargs: {'a': 1, 'b': 2}
簡單說明:
- 在 呼叫函數時:
*:可以把 list 或 tuple 拆開當作多個參數
**:可以把 dict 拆開當作多個關鍵字參數 - 在 定義函數時:
*args:可以接收任意數量的位置參數(打包成 tuple)
**kwargs:可以接收任意數量的關鍵字參數(打包成 dict)
這在進階函數設計與 API 實作中非常實用。