Mục tiêu bài học
- Phân biệt và sử dụng thành thạo các kiểu dữ liệu:
Tuple
: danh sách bất biếnSet
: tập hợp không trùng lặpDictionary
: lưu trữ theo cặp key–value
- Biết thao tác thêm, truy cập, duyệt, kiểm tra phần tử
- Hiểu khi nào dùng loại nào cho bài toán phù hợp
Tuple – Danh sách bất biến
Tuple giống như list, nhưng không thể thay đổi sau khi tạo.
Cách tạo:
my_tuple = (1, 2, 3)
Dấu ngoặc tròn
()
dùng cho tuple
Truy cập và duyệt:
print(my_tuple[0]) # 1
for x in my_tuple:
print(x)
Không thể thay đổi:
my_tuple[0] = 10 # ❌ Error: 'tuple' object does not support item assignment
Khi nào dùng tuple?
- Dữ liệu cố định không muốn thay đổi
- Dùng làm key trong dictionary (list thì không được)
- Tiết kiệm bộ nhớ hơn list
Set – Tập hợp không trùng lặp
Set là một tập hợp không có thứ tự và không chứa phần tử trùng nhau.
Cách tạo:
my_set = {1, 2, 3, 2, 1}
print(my_set) # {1, 2, 3}
Các thao tác cơ bản:
my_set.add(4) # Thêm phần tử
my_set.remove(2) # Xóa phần tử (nếu có)
Duyệt set:
for x in my_set:
print(x)
Các phép toán tập hợp:
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # Union: {1, 2, 3, 4, 5}
print(a & b) # Intersection: {3}
print(a - b) # Difference: {1, 2}
Khi nào dùng set?
- Cần loại bỏ phần tử trùng
- Kiểm tra nhanh “có trong tập hợp không”
- So sánh, hợp nhất, giao nhau dữ liệu
Dictionary – Từ điển key–value
Lưu trữ dữ liệu theo cặp: key: value
.
Cách tạo:
student = {
"ten": "Lan",
"tuoi": 18,
"lop": "12A1"
}
Truy cập:
print(student["ten"]) # Lan
print(student.get("lop")) # 12A1
get()
giúp tránh lỗi nếu key không tồn tại
Thêm / cập nhật:
student["diem"] = 9.0
student["ten"] = "Linh"
Xóa:
del student["tuoi"]
Duyệt qua dictionary:
for key in student:
print(key, ":", student[key])
Hoặc:
for key, value in student.items():
print(key, value)
Khi nào dùng dictionary?
- Khi dữ liệu có tên định danh riêng biệt (vd: thông tin người dùng)
- Khi cần truy cập nhanh theo key
- Khi tổ chức dữ liệu có cấu trúc như bảng, form, JSON…
So sánh tổng quan
Tính chất | List | Tuple | Set | Dictionary |
---|---|---|---|---|
Thứ tự | Có | Có | Không | Không |
Trùng lặp | Cho phép | Cho phép | Không | Key không trùng |
Thay đổi được | Có | Không | Có | Có |
Cách lưu | Các phần tử | Các phần tử | Các phần tử | Cặp key: value |
Bài tập luyện tập
Bài 1: Tạo tuple gồm các tháng trong năm. In ra tháng thứ 6.
Bài 2: Nhập danh sách tên có thể trùng, lưu vào set để lọc trùng, in danh sách duy nhất.
Bài 3: Tạo dictionary lưu tên học sinh và điểm. Cho phép:
- Thêm học sinh mới
- Cập nhật điểm
- In danh sách
Bài 4: Tạo 2 set chứa số lẻ và số chẵn trong khoảng 1–10, in:
- Giao nhau
- Hợp
- Phần tử chỉ có trong một set
Kết luận
Bạn vừa làm quen với 3 công cụ cực kỳ mạnh trong Python để xử lý dữ liệu một cách thông minh:
- Tuple: dữ liệu cố định, nhẹ, nhanh
- Set: tập hợp không trùng lặp, rất nhanh khi kiểm tra
- Dictionary: lưu trữ có cấu trúc theo key–value
Bài tiếp theo: Bài 12 – List Comprehension: Viết danh sách ngắn gọn, gọn gàng và đầy sức mạnh bạn sẽ học cách viết danh sách một cách tinh gọn, thay vì phải dùng vòng lặp dài dòng – đây là kỹ năng giúp code của bạn “Pythonic” hơn, đẹp hơn và hiệu quả hơn.
Thảo luận