8.1 Bảng các toán tử và phương thức
Ngôn ngữ Python hỗ trợ overload toán tử, nghĩa là các phép toán trên đối tượng có thể làm không chỉ bằng phương thức mà còn bằng các toán tử như: +
, -
, *
, /
, |
, v.v.
Lớp set
(tập hợp) đã overload tất cả các toán tử có thể để làm việc với tập hợp thì dễ dàng và rất giống với toán học.
Dưới đây là bảng các toán tử đó:
Toán tử | Phương thức | Mô tả |
---|---|---|
| |
union() |
Trả về hợp của hai tập hợp. |
& |
intersection() |
Trả về giao của các tập hợp (chỉ các phần tử chung). |
- |
difference() |
Trả về hiệu của các tập hợp (các phần tử chỉ có trong tập hợp thứ nhất). |
^ |
symmetric_difference() |
Trả về hiệu đối xứng của các tập hợp (các phần tử có ở một trong các 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. |
< |
issubset() |
Kiểm tra xem một tập hợp có phải là tập hợp con thực sự của tập hợp khác không (tập hợp con tuyệt đối). |
>= |
issuperset() |
Kiểm tra xem một tập hợp có phải là tập hợp siêu 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 siêu thực sự của tập hợp khác không (tập hợp siêu tuyệt đối). |
== |
__eq__() |
Kiểm tra xem các tập hợp có bằng nhau không (chứa các phần tử giống nhau). |
!= |
__ne__() |
Kiểm tra xem các tập hợp có không bằng nhau không (chứa các phần tử khác nhau). |
Rất tiện lợi khi sử dụng các toán tử khi làm việc với tập hợp – bây giờ bạn tự mình sẽ thấy điều đó.
8.2 Làm việc với tập hợp qua toán tử
Hợp (OR)
Toán tử | | Sử dụng hàm union() |
---|---|
|
|
Giao (AND)
Toán tử & | Sử dụng hàm intersection() |
---|---|
|
|
Hiệu (DIFFERENCE)
Toán tử - | Sử dụng hàm difference() |
---|---|
|
|
Hiệu đối xứng (SYMMETRIC DIFFERENCE)
Toán tử ^ | Sử dụng hàm symmetric_difference() |
---|---|
|
|
Thật kỳ lạ khi không sử dụng toán tử +
hoặc *
ở đâu cả, nhưng như người ta nói, chủ nhà là ông chủ. Các lập trình viên của ngôn ngữ Python đã quyết định như vậy và họ biết rõ hơn.
GO TO FULL VERSION