操作集合

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

3.1 確定元素數量

可以使用 函數 len() 來確定集合中元素的數量。這個函數會返回集合中唯一元素的數量。

函數 len() 的使用範例


my_set = {1, 2, 3, 4, 5}
print(len(my_set))  # 輸出: 5
        

在這個範例中,集合 my_set 包含五個元素。函數 len() 會返回這個數量。

檢查集合是否為空

你可以使用函數 len() 來檢查集合是否為空。這在條件語句和迴圈中很有用。


my_set = set()

if len(my_set) == 0:
    print("集合是空的")
else:
    print("集合不是空的")
        

3.2 確定類型

如果你不確定變數中儲存的是不是一個集合,那麼可以使用函數 type() 來增加確定性。Python 中的 type() 函數會返回物件的類型。這對於檢查資料類型很有用,特別是當你在使用集合和其他資料集合時。

範例:


my_set = {1, 2, 3}
print(type(my_set))  # 輸出: <class 'set'>

        

在這個範例中,type(my_set) 返回 <class 'set'>,表示 my_set 是一個集合。

檢查資料類型

你可以使用 type() 函數在進行操作前檢查資料類型。這有助於避免因資料類型不相容而導致的錯誤。


def add_element(collection, element):
    if type(collection) is set:
        collection.add(element)
    else:
        print("錯誤:提供的集合不是一個集合")
        
my_set = {1, 2, 3}
add_element(my_set, 4)  # 元素將被添加
add_element([1, 2, 3], 4)  # 會顯示錯誤
        

在這個範例中,函數 add_element() 在添加元素前會檢查所提供的集合是否為集合。

函數 type() 在創建複雜的資料結構時會很有用,這些結構可能包含多種不同的資料類型。它允許動態地確定資料類型並相應地進行處理。

範例:


my_set = {}
print(type(my_set))  # 輸出: <class 'dict'> 
        

花括號可用來創建集合和創建字典(內部的語法有些不同)。預設情況下,如果括號內沒有元素—這是創建字典!

3.3 元素的順序

集合是一種特殊的資料集合類型,它只儲存唯一的元素。集合的一個關鍵特性是它們是無序的。這意 味著集合中的元素沒有固定順序,並且元素的順序可能會在每次迭代時發生變化。

Python中的集合是基於哈希表實現的。當你將元素添加到集合時,Python會計算其哈希值並使用它來確定元素在哈希表中的位置。這種資料結構提供快速的成員檢查、添加和刪除元素的功能。然而,由於使用了哈希值,元素的順序不會保留,也無法預測

集合無序性的範例

來看看一個簡單的範例:


my_set = {3, 1, 2}
for item in my_set:
    print(item)
    

執行這段程式碼時,元素可能會以任何順序輸出,例如1 2 3或者3 1 2。這表示集合元素的輸出順序不保證,並且可能在每次執行程式時變化

無序性的重要性

集合的無序性有一些重要的影響:

  • 無索引:與列表和元組不同,集合不支援透過索引訪問元素。嘗試執行 my_set[0] 會引發錯誤
  • 效能:無序性使集合在效能方面非常高效,特別是在添加和刪除元素時。
  • 元素唯一性:集合會自動刪除重複項,這使得它們對於存儲唯一的資料非常有用。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION