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