>>> docsite = {'text1':1, 'text2':1}
>>> doc = {
'field1': docsite,
'field2': docsite
}
>>> doc['field2']['text1'] += 2
在此之後,當我打印的文檔變量,我得到Python的字典中
>>> doc
{'field2': {'text2': 1, 'text1': 3}, 'field1': {'text2': 1, 'text1': 3}}
我只FIELD2變化值。不知何故,field1中的值也正在更新。
問:
爲什麼?
如何解決?
該代碼將失敗,因爲'copy'模塊未導入。 –
@Andriy Ivaneyko,你是對的。這個答案並不打算提供一個完整的工作代碼,它只是強調可變對象是通過引用傳遞的,也是爲什麼存在deepcopy。這是否有足夠的理由下調?無論如何修復 – jlandercy
你會混淆用戶而不指向複製模塊,因爲它看起來像'deepcopy'是Python的內置方法沒有這樣的指向... –