在 Python 中清空字典
Elsie Dela Pena
2023年10月10日
本教程將演示如何在 Python 中清空字典。
在 Python 中分配 {}
來清空一個字典
在 Python 中清空字典的一個簡單解決方案是將 {}
賦值給字典。
賦值 {}
會例項化一個新物件並替換現有字典。這意味著為新字典分配了記憶體中的新引用,並且為舊字典在記憶體中分配的空間被標記為垃圾回收。
dct = {"name": "John", "age": 23}
dct = {}
print("Dictionary contains:", dct)
輸出:
Dictionary contains : {}
在 Python 中使用 clear()
函式來刪除一個字典中的所有元素
另一種方法是使用 Python 中的內建函式 clear()
,該函式會刪除字典中存在的所有內容。該函式沒有任何引數,也沒有返回值。它的唯一目的只是清除字典的內容。
dict = {"name": "John", "age": 23}
dict.clear()
print("Dictionary contains :", dict)
輸出:
Dictionary contains : {}
賦值 {}
和 clear()
函式之間的區別在於後者不會建立新例項,而是會刪除現有字典的所有內容以及字典的引用,因為它們已被清除。
讓我們在相同的用例中比較這兩種方法。
使用內建函式 clear()
:
dict1 = {"name": "John", "age": 23}
dict2 = dict1
dict1.clear()
print("After using clear()")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)
輸出:
After using clear()
Dictionary 1 contains : {}
Dictionary 2 contains : {}
如你所見,dict1
和 dict2
現在為空。
將字典分配為 {}
:
dict1 = {"name": "John", "age": 23}
dict2 = dict1
# Assign {} removes only dict1 contents
dict1 = {}
print("After assigning {}")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)
輸出:
After assigning {}
Dictionary 1 contains : {}
Dictionary 2 contains : {'name': 'John', 'age': 23}
在上面的示例中,dict1 = {}
建立了一個新的空字典,而 dict2
仍指向 dict1
的舊值,這使 dict2
值中的值保持不變。在這種情況下,不會觸發垃圾回收,因為還有另一個引用字典的變數。
總之,使用 {}
清除字典中的所有內容將建立一個新例項,而不是更新現有字典引用。如果你有另一個名稱引用同一字典,則最好使用 clear()
函式,以便也清除對同一例項的所有引用。