在 Python 中,集合set)是一種無序、不允許重複元素的數據結構。集合通常用於儲存唯一的元素,並進行高效的集合運算(如交集、聯集、差集等)。

Set 的特點

  1. 唯一性:集合中的每個元素都是唯一的,重複的元素會被自動去除。
  2. 無序性:集合中的元素是無序的,不保證以任何特定順序排列。
  3. 可變性:集合本身是可變的,可以動態地添加或刪除元素,但集合中的元素必須是不可變的。

Set的部分就比較沒練習很多

主要看看交集、聯集、差集、對稱差集會有什麼效果

初始化Set

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
  • 交集(Intersection):可以使用"&"運算符,或者Set本身有支援intersection的function,兩個結果都會呈現{4, 5}
intersection = set1 & set2
intersection_method = set1.intersection(set2)
print(f"intersection:{intersection} intersection_method:{intersection_method}")

 

  • 聯集(Union):使用"|"運算符,或者使用set1.union(set2),結果會呈現{1, 2, 3, 4, 5, 6, 7, 8} 
union = set1 | set2
union_method = set1.union(set2)
print(f"union:{union} union_method:{union_method}")

 

  • 差集(Difference):使用"-"運算符,或者使用set1.difference(set2),結果會呈現{1, 2, 3}
difference = set1 - set2
difference_method = set1.difference(set2)
print(f"difference:{difference} difference_method:{difference_method}")

 

  • 對稱差集(Symmetric Difference):使用"^"運算符,或者使用set1.symmetric_difference(set2),結果會呈現{1, 2, 3, 6, 7, 8}, 對稱差集是指只出現在 set1 或 set2 中的元素,但不包含同時出現在 set1 和 set2 中的元素
symmetric_difference = set1 ^ set2
symmetric_difference_method = set1.symmetric_difference(set2)
print(
f"symmetric_difference:{symmetric_difference} symmetric_difference_method:{symmetric_difference_method}"
)

 

 

另外由於Set的唯一性,如果我們發現List裡有重複元素並且想刪除,我們可以使用Set來去除List裡重複的元素,這時結果會變成[1, 2, 3, 4, 5]

numbers = [1, 2, 3, 3, 4, 4, 5]
unique_numbers = list(set(numbers))
print(f"unique_numbers:{unique_numbers}")

 

 

 

文章標籤
全站熱搜
創作者介紹
創作者 Luke 的頭像
Luke

Luke的部落格

Luke 發表在 痞客邦 留言(0) 人氣(13)