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] 會引發錯誤
。 - 效能:無序性使集合在效能方面非常高效,特別是在添加和刪除元素時。
- 元素唯一性:集合會自動刪除重複項,這使得它們對於存儲唯一的資料非常有用。
GO TO FULL VERSION