6.1 函數 remove()
和 discard()
在 Python 中,集合提供多種方法來刪除元素。下面我們會看看 remove()
、discard()
、pop()
、clear()
方法,以及使用運算符 del
來整個刪除集合。每個方法都有其特殊性和適用場景。
兩個最常見的刪除元素的方法是 remove()
和 discard()
。
方法 remove()
方法 remove()
可以刪除集合中的特定元素。如果元素不存在於集合中,則會引發 KeyError
錯誤。
my_set = {1, 2, 3, 4, 5}
my_set.remove(3)
print(my_set) # 輸出: {1, 2, 4, 5}
# 如果元素不存在於集合中,會引發錯誤
my_set.remove(6) # KeyError: 6
方法 discard()
方法 discard()
也用於刪除集合中的特定元素,但與 remove()
不同的是,如果元素不存在於集合中,它不會引發錯誤。
my_set = {1, 2, 3, 4, 5}
my_set.discard(3)
print(my_set) # 輸出: {1, 2, 4, 5}
# 如果元素不存在於集合中,不會出錯
my_set.discard(6)
print(my_set) # 輸出: {1, 2, 4, 5}
6.2 函數 pop()
和 clear()
還有一些常用的函數如 pop()
和 clear()
方法 pop()
方法 pop()
刪除並返回集合中的隨機元素。如果集合是空的,則會引發 KeyError
錯誤。
my_set = {1, 2, 3, 4, 5}
removed_element = my_set.pop()
print(removed_element) # 輸出: 任意一個集合中的元素,比如 1
print(my_set) # 輸出: 剩餘的集合元素,比如 {2, 3, 4, 5}
# 如果集合是空的,會引發錯誤
empty_set = set()
empty_set.pop() # KeyError: 'pop from an empty set'
範例: 使用 pop()
刪除所有集合中的元素
方法 pop()
可以在循環中使用,依次刪除集合中的所有元素,直到其變為空集。
my_set = {1, 2, 3, 4, 5}
print("原始集合:", my_set)
while my_set:
removed_element = my_set.pop()
print(f"刪除的元素: {removed_element}, 剩餘元素: {my_set}")
print("集合已空:", my_set)
輸出
原始集合: {1, 2, 3, 4, 5}
刪除的元素: 1, 剩餘元素: {2, 3, 4, 5}
刪除的元素: 2, 剩餘元素: {3, 4, 5}
刪除的元素: 3, 剩餘元素: {4, 5}
刪除的元素: 4, 剩餘元素: {5}
刪除的元素: 5, 剩餘元素: set()
集合已空: set()
方法 clear()
方法 clear()
刪除集合中的所有元素,使其成為空集。
範例
my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(my_set) # 輸出: set()
6.3 使用運算符 del
運算符 del
在 Python 中用於刪除對象。當處理集合時,運算符 del
可以用於整個刪除集合,釋放內存。以下是一些使用運算符 del
來處理集合的例子。
刪除集合
當運算符 del
用於刪除一個集合時,這個集合就不再存在,所有的元素都會從內存中刪除
my_set = {1, 2, 3, 4, 5}
print("原始集合:", my_set)
# 刪除集合
del my_set
# 嘗試訪問已刪除的集合會引發錯誤
# print(my_set) # NameError: name 'my_set' is not defined
在這個例子中,集合 my_set
被 del
運算符刪除。之後,任何嘗試訪問 my_set
的操作都會引發 NameError
,因為對象已經不存在。
GO TO FULL VERSION