在 Python 中,集合(set)是一種無序、不允許重複元素的數據結構。集合通常用於儲存唯一的元素,並進行高效的集合運算(如交集、聯集、差集等)。
Set 的特點
- 唯一性:集合中的每個元素都是唯一的,重複的元素會被自動去除。
- 無序性:集合中的元素是無序的,不保證以任何特定順序排列。
- 可變性:集合本身是可變的,可以動態地添加或刪除元素,但集合中的元素必須是不可變的。
Set的部分就比較沒練習很多
主要看看交集、聯集、差集、對稱差集會有什麼效果
初始化Set
set1 = {1, 2, 3, 4, 5}set2 = {4, 5, 6, 7, 8} |
- 交集(Intersection):可以使用"&"運算符,或者Set本身有支援intersection的function,兩個結果都會呈現{4, 5}
intersection = set1 & set2intersection_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 | set2union_method = set1.union(set2)print(f"union:{union} union_method:{union_method}") |
- 差集(Difference):使用"-"運算符,或者使用set1.difference(set2),結果會呈現{1, 2, 3}
difference = set1 - set2difference_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 ^ set2symmetric_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}") |
文章標籤
全站熱搜
