Khóa học python

Các phép toán Join với Set trong Python

0 phút đọc

Python cung cấp nhiều phương thức và toán tử để thực hiện các phép toán join trên set, bao gồm union(), update(), intersection(), difference(), và symmetric_difference(). Mỗi phương thức có cách sử dụng và ứng dụng riêng, phù hợp với các tình huống khác nhau.

Phép toán Union

Phép toán union trả về một set mới chứa tất cả các phần tử của các set được chỉ định. Bạn có thể sử dụng phương thức union() hoặc toán tử | để thực hiện phép toán này.

Cú pháp:

set1.union(set2, set3, ...)
# hoặc
set1 | set2 | set3 | ...

Ví dụ:

set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = {5, 6, 7}

# Sử dụng phương thức union()
result = set1.union(set2, set3)
print(result)  # Kết quả: {1, 2, 3, 4, 5, 6, 7}

# Sử dụng toán tử |
result = set1 | set2 | set3
print(result)  # Kết quả: {1, 2, 3, 4, 5, 6, 7}

Phép toán Update

Phép toán update thêm tất cả các phần tử từ một hoặc nhiều set khác vào set hiện tại. Bạn có thể sử dụng phương thức update() hoặc toán tử |= để thực hiện phép toán này.

Cú pháp:

set1.update(set2, set3, ...)
# hoặc
set1 |= set2 | set3 | ...

Ví dụ:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Sử dụng phương thức update()
set1.update(set2)
print(set1)  # Kết quả: {1, 2, 3, 4, 5}

# Sử dụng toán tử |=
set1 |= set2
print(set1)  # Kết quả: {1, 2, 3, 4, 5}

Phép toán Intersection

Phép toán intersection trả về một set mới chứa các phần tử chung của các set được chỉ định. Bạn có thể sử dụng phương thức intersection() hoặc toán tử & để thực hiện phép toán này.

Cú pháp:

set1.intersection(set2, set3, ...)
# hoặc
set1 & set2 & set3 & ...

Ví dụ:

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}

# Sử dụng phương thức intersection()
result = set1.intersection(set2, set3)
print(result)  # Kết quả: {3}

# Sử dụng toán tử &
result = set1 & set2 & set3
print(result)  # Kết quả: {3}

Phép toán Difference

Phép toán difference trả về một set mới chứa các phần tử chỉ có trong set đầu tiên và không có trong các set khác. Bạn có thể sử dụng phương thức difference() hoặc toán tử - để thực hiện phép toán này.

Cú pháp:

set1.difference(set2, set3, ...)
# hoặc
set1 - set2 - set3 - ...

Ví dụ:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# Sử dụng phương thức difference()
result = set1.difference(set2)
print(result)  # Kết quả: {1, 2, 3}

# Sử dụng toán tử -
result = set1 - set2
print(result)  # Kết quả: {1, 2, 3}

Phép toán Symmetric Difference

Phép toán symmetric difference trả về một set mới chứa các phần tử chỉ có trong một trong hai set và không có trong cả hai. Bạn có thể sử dụng phương thức symmetric_difference() hoặc toán tử ^ để thực hiện phép toán này.

Cú pháp:

set1.symmetric_difference(set2)
# hoặc
set1 ^ set2

Ví dụ:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# Sử dụng phương thức symmetric_difference()
result = set1.symmetric_difference(set2)
print(result)  # Kết quả: {1, 2, 3, 6, 7, 8}

# Sử dụng toán tử ^
result = set1 ^ set2
print(result)  # Kết quả: {1, 2, 3, 6, 7, 8}

Các phương thức kiểm tra với Set

Python cung cấp các phương thức để kiểm tra mối quan hệ giữa các set, bao gồm issubset(), issuperset(), và isdisjoint().

issubset()

Phương thức issubset() trả về True nếu tất cả các phần tử của set này có trong set khác.

Ví dụ:

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(set1.issubset(set2))  # Kết quả: True

issuperset()

Phương thức issuperset() trả về True nếu set này chứa tất cả các phần tử của set khác.

Ví dụ:

set1 = {1, 2, 3, 4, 5}
set2 = {1, 2, 3}
print(set1.issuperset(set2))  # Kết quả: True

isdisjoint()

Phương thức isdisjoint() trả về True nếu hai set không có phần tử chung.

Ví dụ:

set1 = {1, 2, 3}
set2 = {4, 5, 6}
print(set1.isdisjoint(set2))  # Kết quả: True

Kết luận

Set là một kiểu dữ liệu mạnh mẽ và linh hoạt trong Python, cho phép bạn lưu trữ và thao tác với các phần tử duy nhất một cách hiệu quả. Mặc dù set không hỗ trợ truy cập phần tử bằng chỉ số, bạn có thể sử dụng các phương thức và toán tử để thực hiện các phép toán trên set một cách dễ dàng. Bằng cách nắm vững các kỹ thuật join với set, bạn có thể dễ dàng làm việc với set để giải quyết nhiều bài toán lập trình khác nhau.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

entry

Biến cục bộbiến toàn cục trong Python là gì?

entry

Tại sao các thuật toán sắp xếp quan trọng?

entry

Liệt kê các kiểu dữ liệu trong Python?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely