- Published on
[Python 學習筆記] 6-2 Tuple(元組)
- Authors
- Name
- Vic Chen
Tuple(元組)
Tuple:有序、不可變的序列
特點:
- 有序(可以用索引訪問)
- 不可變(不能修改元素)
- 可以包含不同型別元素
- 可以作為 dict 的 key
建立 Tuple
t1 = (1, 2, 3) # 普通元組
t2 = (1,) # 單元素元組(必須加逗號)
t3 = () # 空元組
t4 = tuple([1, 2, 3]) # 使用 tuple() 函式
訪問元素
t = (10, 20, 30, 40)
print(t[0]) # 10
print(t[-1]) # 40
# 切片
print(t[1:3]) # (20, 30)
print(t[:2]) # (10, 20)
print(t[2:]) # (30, 40)
print(t[::2]) # (10, 30) 每隔 2 個取一個
解包(Unpacking)
t = (1, 2, 3)
a, b, c = t
print(a, b, c) # 1 2 3
# 星號解包
t = (1,2,3,4,5)
a, *b, c = t
print(a, b, c) # 1 [2,3,4] 5
合併與重複
t1 = (1, 2)
t2 = (3, 4)
t3 = t1 + t2 # 合併 -> (1,2,3,4)
t4 = t1 * 3 # 重複 -> (1,2,1,2,1,2)
遍歷 Tuple
t = (10, 20, 30)
for x in t:
print(x)
for i, x in enumerate(t):
print(i, x)
常用方法
方法 | 功能 | 範例 | 結果 |
---|---|---|---|
count(x) | 計算 x 出現次數 | (1,2,2).count(2) | 2 |
index(x) | 查找元素 x 的索引 | (1,2,3).index(2) | 1 |
NOTE
Tuple 可用的方法比 List 少,因為不可變的特性,所以不會有新增、刪除、排序...等會變更元素的方法
小技巧
1. 作為 dict 的 key
d = {(1,2): "value"}
print(d[(1,2)]) # value
2. tuple 比 list 適合當固定資料或常數集合
colors = ("red", "green", "blue")
3. 轉換
lst = [1,2,3]
t = tuple(lst) # list -> tuple
lst2 = list(t) # tuple -> list