Set (tập hợp) trong Python
Set chỉ lưu mỗi giá trị một lần và trả lời "có giá trị này ở đây không?" rất nhanh, nên rất phù hợp để xóa phần trùng lặp.
Set (tập hợp) trong Python là gì?
Set chỉ lưu mỗi giá trị một lần và trả lời "có giá trị này ở đây không?" rất nhanh, nên rất phù hợp để xóa phần trùng lặp.
Giữ các giá trị duy nhất với set trong Python và ghép set bằng union và intersection.
Khi nào nên sử dụng?
- Học và luyện tập cú pháp Python qua ví dụ thực tế.
- Xây dựng nền tảng trước khi giải các bài toán lớn hơn.
- Thử nhanh một ý tưởng mà không cần cài đặt môi trường cục bộ.
Xem cách hoạt động
Chọn một phép toán để tô sáng kết quả trên sơ đồ. Thêm một giá trị đã có trong set để thấy phần tử trùng bị bỏ qua.
Code ví dụ
# A set stores unique values with no fixed order.
tags = {"python", "code", "python", "learn"}
print(len(tags)) # the duplicate "python" is kept once
print("code" in tags) # fast membership test
tags.add("fun")
tags.discard("code")
print(sorted(tags))
# Remove duplicates from a list.
numbers = [3, 1, 3, 2, 1]
print(sorted(set(numbers)))
# Set operations.
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a | b) # union: in either set
print(a & b) # intersection: in both
print(a - b) # difference: in a but not in b
Kết quả dự kiến
3
True
['fun', 'learn', 'python']
[1, 2, 3]
{1, 2, 3, 4, 5}
{3, 4}
{1, 2}
Cách hoạt động
Set không có thứ tự cố định, nên sorted() được dùng để cho kết quả ổn định. | tạo union, & tạo intersection và - tạo phần khác nhau của hai set.
Thay đổi giá trị và chạy chương trình bằng trình chạy Python online của CodeUtility mà không cần cài Python.
Bài tập mở rộng
Hãy sửa code theo các bài tập dưới đây để hiểu rõ cách hoạt động thay vì chỉ sao chép kết quả.
- Thay đổi dữ liệu đầu vào và dự đoán output trước khi chạy.
- Bổ sung kiểm tra cho dữ liệu rỗng hoặc không hợp lệ.
- Đóng gói logic thành hàm và viết thêm nhiều test case.
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
Tất cả thử thách