Python - Bài Tập Về Tập Hợp
Xin chào bạn, những phù thủy Python tương lai! Hôm nay, chúng ta sẽ bơi lội vào thế giới kỳ diệu của các tập hợp Python. Đừng lo nếu bạn chưa từng lập trình trước đây - tôi sẽ là người hướng dẫn thân thiện của bạn trong chuyến hành trình thú vị này. Cuối tutorial này, bạn sẽ tạo ra các tập hợp như một chuyên gia!
Tập Hợp Là Gì?
Trước khi bắt đầu với các bài tập, hãy nhanh chóng hiểu về tập hợp trong Python. Hãy tưởng tượng bạn có một túi đá quả, nhưng mỗi quả chỉ có thể xuất hiện một lần trong túi. Đó chính là điều gì mà tập hợp trong Python - một tập hợp các phần tử duy nhất.
Các tập hợp không có thứ tự, có nghĩa là các phần tử không có vị trí cụ thể. Chúng cũng có thể thay đổi, vì vậy chúng ta có thể thêm hoặc xóa phần tử. Tuy nhiên, các phần tử chính của chúng phải không thể thay đổi (như số hoặc chuỗi, không phải là danh sách).
Bây giờ, hãy nhặt tay vào vai và bắt đầu lập trình!
Python Set Exercise 1: Tạo và Thao Tác Với Tập Hợp
Tạo Một Tập Hợp
Hãy bắt đầu bằng cách tạo một tập hợp đơn giản:
fruits = {"apple", "banana", "cherry"}
print(fruits)
Khi chạy mã này, bạn sẽ thấy:
{'cherry', 'banana', 'apple'}
Nhận ra rằng thứ tự có thể khác với những gì chúng ta nhập không? Đó là vì các tập hợp không có thứ tự!
Thêm Phần Tử Vào Tập Hợp
Bây giờ, hãy thêm một số trái cây khác vào tập hợp của chúng ta:
fruits.add("dragonfruit")
print(fruits)
fruits.update(["elderberry", "fig"])
print(fruits)
Output:
{'cherry', 'banana', 'apple', 'dragonfruit'}
{'fig', 'cherry', 'banana', 'elderberry', 'apple', 'dragonfruit'}
Thấy chưa, chúng ta sử dụng add()
cho một phần tử và update()
cho nhiều phần tử? Như thêm một quả đá vào túi của bạn so với việc đổ vào một tayful!
Xóa Phần Tử Khỏi Tập Hợp
Hãy xóa một số trái cây:
fruits.remove("banana")
print(fruits)
fruits.discard("grape") # Điều này không gây ra lỗi ngay cả khi "grape" không có trong tập hợp
print(fruits)
Output:
{'fig', 'cherry', 'elderberry', 'apple', 'dragonfruit'}
{'fig', 'cherry', 'elderberry', 'apple', 'dragonfruit'}
remove()
sẽ gây ra lỗi nếu phần tử không tồn tại, trong khi discard()
sẽ không. Như là lựa chọn cẩn thận một quả cụ thể khỏi túi của bạn so với việc tìm một quả để loại bỏ.
Python Set Exercise 2: Các Thao Tác Trên Tập Hợp
Bây giờ đã nắm vững các khái niệm cơ bản, hãy chơi với nhiều tập hợp!
Tổ Hợp Của Các Tập Hợp
Tưởng tượng bạn và người bạn cùng có túi đá quả. Tổ hợp là tất cả các quả đá bạn có cùng nhau.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
union_set = set1.union(set2)
print(union_set)
Output:
{1, 2, 3, 4, 5, 6, 7, 8}
Giao Của Các Tập Hợp
Giao là các quả đá bạn cùng có.
intersection_set = set1.intersection(set2)
print(intersection_set)
Output:
{4, 5}
Hiệu Của Các Tập Hợp
Hiệu là các quả đá bạn có mà người bạn không có.
difference_set = set1.difference(set2)
print(difference_set)
Output:
{1, 2, 3}
Python Set Exercise 3: Các Thao Tác Nâng Cao Trên Tập Hợp
Sẵn sàng để lên cấp? Hãy đối mặt với một số thao tác nâng cao hơn!
Hiệu Đối Xứng
Điều này mang lại tất cả các quả đá có trong một trong hai tập hợp, nhưng không có cả hai.
symmetric_difference = set1.symmetric_difference(set2)
print(symmetric_difference)
Output:
{1, 2, 3, 6, 7, 8}
Tập Hợp Con Và Tập Hợp Phụ
Hãy kiểm tra xem một tập hợp có nằm trong tập hợp khác không:
set3 = {1, 2, 3}
print(set3.issubset(set1)) # Set3 có phải là tập hợp con của set1 không?
print(set1.issuperset(set3)) # Set1 có phải là tập hợp phụ của set3 không?
Output:
True
True
Như kiểm tra xem tất cả các quả đá của bạn có nằm trong tập hợp lớn hơn của người bạn hay không!
Tập Hợp Đóng Băng
Đôi khi, chúng ta cần một tập hợp không thể thay đổi. Đây là tập hợp đóng băng:
frozen_fruits = frozenset(["apple", "banana", "cherry"])
print(frozen_fruits)
# Điều này sẽ gây ra lỗi:
# frozen_fruits.add("dragonfruit")
Output:
frozenset({'cherry', 'banana', 'apple'})
Suy nghĩ về tập hợp đóng băng như một túi đá quả được đóng băng trong băng - bạn có thể nhìn nhưng không thể chạm!
Tóm Tắt Các Phương Thức Tập Hợp
Dưới đây là bảng phương thức tập hợp mà chúng ta đã học:
Phương Thức | Mô Tả |
---|---|
add() | Thêm một phần tử vào tập hợp |
update() | Cập nhật tập hợp với các phần tử từ tập hợp hoặc iterable khác |
remove() | Xóa một phần tử cụ thể (gây ra lỗi nếu không tìm thấy) |
discard() | Xóa một phần tử cụ thể (không gây ra lỗi nếu không tìm thấy) |
union() | Trả về tập hợp chứa tổ hợp của các tập hợp |
intersection() | Trả về tập hợp chứa giao của các tập hợp |
difference() | Trả về tập hợp chứa hiệu giữa các tập hợp |
symmetric_difference() | Trả về tập hợp với các phần tử trong một trong hai tập hợp, nhưng không cả hai |
issubset() | Kiểm tra xem một tập hợp có phải là tập hợp con của tập hợp khác không |
issuperset() | Kiểm tra xem một tập hợp có phải là tập hợp phụ của tập hợp khác không |
Và thế là, các bạn! Bạn đã vừa nâng cấp kỹ năng Python của mình với các tập hợp. Hãy nhớ, luyện tập sẽ làm bạn hoàn hảo. Trước khi bạn biết, bạn sẽ thao tác các tập hợp như một phù thủy Python thực sự!
Credits: Image by storyset