? ? ? ?之前在編寫一個測試工具時發現了一個問題:如果將一個字典dict1賦給另外一個字典dict2,那么如果dict2的值發生改變,dict1也會隨之改變,舉個例子:
? ? ? 可以看到當dict2增加了一對鍵-值對時,dict1也發生了變化,通過打印dict2和dict1所占用的內存地址發現,當將dict1賦給dict2時,系統并未給dict2再單獨分配一個地址,因此當dict2的值發生改變時,dict1也發生改變。
? ? ? ?這個時候如果我們想將dict1賦給另外一個變量,而又不想讓該變量的改變影響dict1的值該怎么做呢?這時候就要用到python的深拷貝deepcopy,具體用法如下:
? ? 可以看到用deepcopy會給被賦值分配一片新內存,而變量a的改變不會影響dict1的值。
? ?未完待續,覺得有必要學習一下python各數據結構的存儲方式