Python - Kết hợp Tập hợp

Xin chào các bạn, các nhà lập trình Python đam mê! Hôm nay, chúng ta sẽ bơi lội vào thế giới thú vị của các tập hợp và học cách kết hợp chúng. Là người dạy khoa học máy tính hàng xóm bạn thân thiện, tôi rất hân hạnh được hướng dẫn các bạn qua cuộc hành trình này. Vậy hãy lấy ly đồ uống yêu thích của bạn, thư giãn và cùng nhau khám phá cuộc phiêu lưu Python này!

Python - Join Sets

Tập hợp là gì trong Python?

Trước khi bước vào việc kết hợp các tập hợp, hãy nhanh chóng rét lại điều gì là tập hợp trong Python. Hãy tưởng tượng một chiếc túi thần kỳ có thể chứa các mục duy nhất. Bất kỳ lần nào bạn cố gắng đặt cùng một mục vào, nó chỉ xuất hiện một lần. Có gì phải tuyệt vời không?

Dưới đây là một ví dụ đơn giản:

fruit_basket = {"apple", "banana", "orange", "apple"}
print(fruit_basket)

Output:

{'orange', 'banana', 'apple'}

Bạn có nhận ra rằng "apple" chỉ xuất hiện một lần, mặc dù chúng ta đã cố gắng thêm nó hai lần? Đó chính là ma thuật của các tập hợp!

Kết hợp các Tập hợp trong Python

Bây giờ, hãy đến phần chính - kết hợp các tập hợp. Tưởng tượng bạn có hai chiếc chiếc trái cây, và bạn muốn kết hợp chúng thành một chiếc chiếc trái cây siêu mạnh. Đó chính là điều gì mà việc kết hợp các tập hợp đều là về!

Kết hợp các Tập hợp Python sử dụng Toán tử "|"

Toán tử "|" như một cầu nối giữa hai tập hợp. Nó tạo ra một tập hợp mới chứa tất cả các phần tử duy nhất từ cả hai tập hợp. Hãy xem nó hoạt động như thế nào:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = basket1 | basket2
print(super_basket)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

Bạn có thấy "banana" chỉ xuất hiện một lần trong super_basket? Đó là vì các tập hợp chỉ giữ lại các mục duy nhất. Nó như có quy tắc không trùng lặp tại một buổi tiệc!

Kết hợp các Tập hợp Python sử dụng phương thức union()

Phương thức union() là một cách khác để kết hợp các tập hợp. Nó như tổ chức một buổi gặp mặt nơi mọi thành viên duy nhất từ các nhóm khác nhau đến đó. Đây là cách nó hoạt động:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = basket1.union(basket2)
print(super_basket)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

Kết quả giống như khi sử dụng toán tử "|". Nó chỉ là cách thức chính thức hơn để nói "hãy liên kết các tập hợp này!"

Kết hợp các Tập hợp Python sử dụng phương thức update()

Bây giờ, đoán nếu bạn muốn thêm tất cả các mục duy nhất từ một tập hợp khác vào tập hợp gốc, thay đổi tập hợp gốc? Đó là nơi phương thức update() có tác dụng. Nó như mời bạn bè đến tiệc của bạn và họ trở thành một phần của nhóm bạn của bạn:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

basket1.update(basket2)
print(basket1)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

Bạn có nhận ra rằng basket1 bây giờ bao gồm tất cả các mục duy nhất từ basket2? Nó như basket1 đã lớn lên để chứa các bạn mới!

Kết hợp các Tập hợp Python sử dụng Toán tử Mở rộng

Toán tử mở rộng (*) như một phù thủy có thể mở rộng nội dung của các tập hợp. Khi sử dụng với set(), nó tạo ra một tập hợp mới với tất cả các phần tử duy nhất. Hãy xem mưu hiểm này:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}
basket3 = {"mango", "pineapple", "kiwi"}

super_basket = set(*basket1, *basket2, *basket3)
print(super_basket)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi', 'mango', 'pineapple'}

Nó như phù thủy đã kéo ra tất cả các trái cây từ mỗi chiếc chiếc và đặt chúng vào một chiếc chiếc lớn, đảm bảo không có trùng lặp!

Kết hợp các Tập hợp Python sử dụng Trình tự Comprehension

Trình tự comprehension như có một robot thông minh có thể nhanh chóng tạo ra một tập hợp mới dựa trên các điều kiện nhất định. Đây là cách chúng ta có thể sử dụng nó để kết hợp các tập hợp:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = {item for set_ in (basket1, basket2) for item in set_}
print(super_basket)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

Điều này như khi chúng ta nói với robot của mình: "Đi qua mỗi chiếc chiếc, lấy mỗi trái cây và đặt nó vào chiếc chiếc siêu, nhưng nhớ, không có trùng lặp!"

Kết hợp các Tập hợp Python sử dụng Phương pháp Thêm Lặp đi lặp lại

Cuối cùng, chúng ta có thể kết hợp các tập hợp bằng cách thêm phần tử lặp đi lặp lại. Nó như thủ công lấy trái cây từ các chiếc chiếc khác nhau và thêm chúng vào một chiếc chiếc mới:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = set()
for item in basket1:
super_basket.add(item)
for item in basket2:
super_basket.add(item)

print(super_basket)

Output:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

Phương pháp này giúp bạn có quyền kiểm soát hơn, như có thể kiểm tra mỗi trái cây trước khi thêm nó vào chiếc chiếc siêu của bạn.

Tóm tắt các Phương pháp Kết hợp Tập hợp

Dưới đây là bảng tham khảo nhanh về tất cả các phương pháp chúng ta đã học:

Phương pháp Cú pháp Mô tả
Toán tử " " set1 | set2
union() set1.union(set2) Trả về một tập hợp mới với các phần tử từ cả hai tập hợp
update() set1.update(set2) Thêm các phần tử từ set2 vào set1
Mở rộng set(set1, set2) Tạo ra một tập hợp mới bằng cách mở rộng các phần tử
Comprehension {item for set in (set1, set2) for item in set} Tạo ra một tập hợp mới sử dụng comprehension
Thêm Lặp đi lặp lại for item in set2: set1.add(item) Thêm các phần tử từ set2 vào set1 một

Và thế là, các bạn vừa học được sáu cách khác nhau để kết hợp các tập hợp trong Python. Nhớ rằng, lập trình như nấu ăn - thường có nhiều cách để đạt được kết quả tương tự. Chìa khóa là hiểu rõ mỗi phương pháp và chọn phương pháp phù hợp nhất với nhu cầu của bạn.

Hãy tiếp tục tập luyện, duy trì sự tham vọng và hạnh phúc khi lập trình! Trước khi bạn biết, bạn sẽ trở thành một nhà lập trình pro có thể vượt qua các bits và bytes. Đến lần sau, đây là người dạy khoa học máy tính hàng xóm bạn thân thiện, kính báo rời!

Credits: Image by storyset