Hàm Set intersection() trong Python

Trong bài này chúng ta sẽ tìm hiểu phương thức Set intersection() trong Python, phương thức này dùng để lấy kết quả từ phép giao của nhiều tập hơn (Set).

Giả sử ta có ba Set A, B, C như ví dụ dưới đây:

A = {1, 2, 3, 4}
B = {2, 3, 4,  9}
C = {2, 4, 9 10}

Thì kết quả của phép giao như sau:

A∩B = B∩A ={2, 3, 4}
A∩C = C∩A ={2, 4}
B∩C = C∩B ={2, 4, 9}

A∩B∩C = {2, 4}

Ví dụ này được mô tả qua hình ảnh sau:

1. Cú pháp set intersection trong Python

Intersection là một loại phương thức có vô số các tham số truyền vào, nghĩa là bạn có thể truyền bao nhiêu cũng được.

Cú pháp
A.intersection(*other_sets)

Trong đó:

  • A là tập hợp (Set) sẽ được giao với các tập hợp khác other_sets

Giá trị trả về: Phương thức sẽ trả về kết quả của phép giao giữa các Set. Nếu bạn không truyền một tham số nào vào thì nó sẽ trả về bản copy của A.

2. Ví dụ set intersection trong Python

Bây giờ ta hãy đi vào các ví dụ để hiểu rõ hơn về phương thức này nhé.

Ví dụ 1:  Ví dụ tạo phép giao đơn giản

A = {2, 3, 5, 4}
B = {2, 5, 100}
C = {2, 3, 8, 9, 10}

print(B.intersection(A))
print(B.intersection(C))
print(A.intersection(C))
print(C.intersection(A, B))

Chạy ví dụ này thì kế quả sẽ như sau:

{2, 5}
{2}
{2, 3}
{2}

Ví dụ 2: Một ví dụ khác về cách sử dụng intersection

A = {100, 7, 8}
B = {200, 4, 5}
C = {300, 2, 3}
D = {100, 200, 300}

print(A.intersection(D))
print(B.intersection(D))
print(C.intersection(D))
print(A.intersection(B, C, D))

Chạy lên thì kết quả sẽ như sau:

{100}
{200}
{300}
set()

Các bạn hãy lưu ý thứ tự chạy để tránh bị nhầm lẫn nhé.

Lời kết: Như vậy là mình đã giới thiệu xong phương thức intersection trong Set Python, đây là phương thức khá hay và nó thể hiện cho phép giao trong toán học.

Nguồn: freetuts.net