Setting the Data Type
tuple
- tuple(元組) 是 Python 的一種資料型態,用來存放有序、不可變(immutable)的資料集合。
- 跟 list(串列)很像,但最大的差異是tuple 一旦建立後就不能被修改(不能增刪改元素)。
tuple 和 list 差異

range
range是產生一組連續整數序列的內建函數,常用於 for 迴圈中。- 它不會產生一個 list,而是一個「range 物件」——這是一種可迭代(iterable)但記憶體高效的序列。
range(stop)
range(start, stop)
range(start, stop, step)
- start:起始值(預設為 0)
- stop:終止值(不包含 stop 本身)
- step:步進值(預設為 1)
for i in range(5):
print(i)
# 輸出:0 1 2 3 4
for i in range(2, 8):
print(i)
# 輸出:2 3 4 5 6 7
for i in range(1, 10, 2):
print(i)
# 輸出:1 3 5 7 9
如果想要看到 range 裡所有的數字,可以用 list() 包起來:
print(list(range(5)))
# 輸出: [0, 1, 2, 3, 4
range總結 :
- 常用於 for 迴圈:快速生成固定次數的循環。
- 記憶體效率高:
range不會一次把所有數字存進記憶體,而是隨用隨產生(稱為「惰性求值」或「延遲求值」)。
dict
- dict(字典)是一種鍵值對(key-value pair)的資料結構。
- 每一個 key 都對應到一個 value。
- 可以根據 key 快速查找 value。
x = {"name" : "John", "age" : 36}
- 這邊的key就是 "name"、"age"
- value就是 "John"、36
x = {"name" : "John", "age" : 36}
print(x["name"])
output :
Johnset
x = {"apple", "banana", "cherry"}
- set(集合)是一種無序、元素唯一的資料集合。
- 主要用於去除重複值和集合運算(交集、聯集、差集)。
- 注意:大括號
{},元素之間用逗號分隔。
1. 去除重複值
fruits = ["apple", "banana", "apple", "cherry", "banana"]
unique_fruits = set(fruits)
print(unique_fruits)
輸出可能是(順序不固定):
{'banana', 'cherry', 'apple'}
這樣就把重複的元素去掉了。
2. 集合運算
假設你有兩個集合:
a = {"apple", "banana", "cherry"}
b = {"banana", "kiwi", "apple"}
(1) 交集 intersection(共同有的元素)
print(a & b) # {'banana', 'apple'}
print(a.intersection(b)) # {'banana', 'apple'}
(2) 聯集 union(所有出現過的元素)
print(a | b) # {'banana', 'apple', 'cherry', 'kiwi'}
print(a.union(b)) # {'banana', 'apple', 'cherry', 'kiwi'}
(3) 差集 difference(只在 a,不在 b 的元素)
print(a - b) # {'cherry'}
print(a.difference(b)) # {'cherry'}
(4) 對稱差集 symmetric difference(只出現在其中一個集合,但不在兩者都有)
print(a ^ b) # {'cherry', 'kiwi'}
print(a.symmetric_difference(b))# {'cherry', 'kiwi'}
frozenset
- frozenset 是不可變的 set,建立後不能修改內容(不能新增、刪除元素)。
- 也可以進行集合運算,但內容不可改變。












