集合操作

Python SELF TW
等級 9 , 課堂 8
開放

8.1 運算子和方法表

Python 語言支持運算子的重載,這意味著對象的操作不僅可以通過方法進行,還可以通過運算子,例如:+-*/| 等等。

set 類(集合)重載了所有可能的運算子,使得操作集合變得簡單且非常類似數學中的做法。

這是這些運算子的表格:

運算子 方法 描述
| union() 回傳兩個集合的聯集。
& intersection() 回傳集合的交集(僅公共元素)。
- difference() 回傳集合的差集(僅存在於第一個集合的元素)。
^ symmetric_difference() 回傳集合的對稱差集(僅在一個集合中存在的元素,但不在兩個集合中都存在)。
<= issubset() 檢查一個集合是否是另一個集合的子集合。
< issubset() 檢查一個集合是否是另一個集合的真子集合 (嚴格子集合)。
>= issuperset() 檢查一個集合是否是另一個集合的超集合。
> issuperset() 檢查一個集合是否是另一個集合的真超集合 (嚴格超集合)。
== __eq__() 檢查集合是否相等(包含相同的元素)。
!= __ne__() 檢查集合是否不相等(包含不同的元素)。

在操作集合時使用運算子非常方便——你會發現這一點的。

8.2 使用運算子操作集合

聯集 (OR)

運算子 | 使用 union() 函數

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2
print(union_set)  # 輸出:{1, 2, 3, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)  
print(union_set)  # 輸出:{1, 2, 3, 4, 5}
                            
                    

交集 (AND)

運算子 & 使用 intersection() 函數

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1 & set2
print(intersection_set)  # 輸出:{3}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set)  # 輸出:{3}

差集 (DIFFERENCE)

運算子 - 使用 difference() 函數

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1 - set2
print(difference_set)  # 輸出:{1, 2}

                    

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)  # 輸出:{1, 2}

對稱差集 (SYMMETRIC DIFFERENCE)

運算子 ^ 使用 symmetric_difference() 函數

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1 ^ set2
print(s_diff)  # 輸出:{1, 2, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1.symmetric_difference(set2)
print(s_diff)  # 輸出:{1, 2, 4, 5}

奇怪的是,似乎從未使用過運算子 +*,不過話說回來,Python的開發者這麼決定是有他們的原因的。

1
Опрос
Python 中的集合,  9 уровень,  8 лекция
недоступен
Python 中的集合
Python 中的集合
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION