1. Cấu trúc dữ liệu tập hợp


Các phép toán trong tập hợp



tải về 0.64 Mb.
Chế độ xem pdf
trang5/8
Chuyển đổi dữ liệu25.05.2023
Kích0.64 Mb.
#54743
1   2   3   4   5   6   7   8
duy khanhh

2. Các phép toán trong tập hợp 
Các tập hợp có lợi thế hơn các cấu trúc dữ liệu khác ở chỗ nó thực hiện được các phép 
toán tập hợp như hợp, hiệu, giao... 
2.1 Phép hợp (Union) 
Hợp của hai tập hợp cho kết quả là tất cả các phần tử trong hai tập hợp, chú ý phần tử 
nào lặp lại sẽ chỉ xuất hiện 1 lần trong tập kết quả. Trong Python, để thực hiện phép hợp, 
chúng ta sử dụng phương thức .union()



Chú ý, sử dụng tập hợp nào trước cũng cho kết quả như nhau, 
python_class.union(php_class) cũng cho kết quả như php_class.union(python_class). 
python_class = {"Dung", "Van", "Duc"} 
php_class = {"Huy", "Dung"} 
all_class = python_class.union(php_class) 
print(all_class) # Kết quả {'Dung', 'Van', 'Duc', 'Huy'} 
2.2 Phép trừ (Difference)
 
Hiệu của một tập A trừ đi một tập B cho kết quả là tất các phần tử thuộc A nhưng 
không thuộc B. Sử dụng phương thức .difference() để thực hiện phép trừ hai tập hợp. 
python_class = {"Dung", "Van", "Duc"} 
php_class = {"Huy", "Dung"} 
python_but_not_php = python_class.difference(php_class) 
php_but_not_python = php_class.difference(python_class) 
print(python_but_not_php) # Kết quả {'Van', 'Duc'} 
print(php_but_not_python) # Kết quả {'CharlHuyie'} 
2.3 Hiệu đối xứng của hai tập hợp (Symmetric difference)
 
Hiệu đối xứng của hai tập A và B được kết quả là tập hợp các phần tử thuộc cả A và B 
nhưng không đồng thời thuộc cả tập A và B. Phương thức .symmetric_difference() cho 
kết quả là hiệu đối xứng của hai tập hợp. 
Chú ý, do tính chất đối xứng nên python_class.symmetric_difference(php_class) và 
php_class.symmetric_difference(python_class) cho kết quả như nhau. 



python_class = {"Dung", "Van", "Duc"} 
php_class = {"Huy", "Dung"} 
not_in_both_1 = python_class.symmetric_difference(php_class) 
print(not_in_both_1) # Kết quả {'Van', 'Duc', 'Huy'} 
not_in_both_2 = php_class.symmetric_difference(python_class) 
print(not_in_both_2) # Kết quả {'Van', 'Duc', 'Huy'} 
2.4 Phép giao (Intersection)
 
Phép giao hai tập hợp cho kết quả là các phần tử đồng thời thuộc cả hai tập hợp. Trong 
Python sử dụng phương thức .intersection() để thực hiện phép giao. 
Chú ý tập hợp nào đứng trước cũng được, do đó kết quả 
python_class.intersection(php_class) và php_class.intersection(python_class) là như nhau. 
python_class = {"Dung", "Van", "Duc"} 
php_class = {"Huy", "Dung"} 
python_php = python_class.intersection(php_class) 
print(python_php) # Kết quả là {"Dung"} 
2.5 Thay đổi tập hợp dựa trên phép toán tập hợp
 
Trong phần trước chúng ta đã biết đến phương thức .update() để thêm nhiều phần tử 
vào một tập hợp. Dựa vào các phép toán tập hợp, Python cung cấp một số các phương 
thức khác để thay đổi tập hợp như sau: 




tải về 0.64 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương