Đăng nhập

Bài 11: Tuple, Set, Dictionary – Bộ 3 cấu trúc dữ liệu quan trọng

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ến
    • Set: tập hợp không trùng lặp
    • Dictionary: 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ự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ấtListTupleSetDictionary
Thứ tựKhôngKhông
Trùng lặpCho phépCho phépKhôngKey không trùng
Thay đổi đượcKhông
Cách lưuCá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

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.