0
通常我看到類似的行爲,當我不想要它時,但這次我喜歡有一個變量分配給一個字典的(整數)項目,並且當該值在任何一個我都喜歡在兩個申請。python詞典項目參考作業
也就是說,有一本字典:
>>> a_dict = {'v':1,'r':0}
>>> r_int = a_dict['r']
然後變量[R不具有相同的參考,甚至是相同的值。當分配給r時,['r']仍然具有反之亦然。
但正是我試圖找到是我可以通過這個[R到另一個對象和它的變化主要一個詞典被更新?
如果該項目是一個列表,分配給[R是列表和改變這個列表的元素可以在一個鋸因爲實際上是同一個列表對象。爲了避免我使用副本,但在這種情況下,我需要相反的東西。我喜歡看到:
>>> r_int = 2
>>> a_dict
{'v':1,'r':2}
事實是我必須在這個_r_變量中有一個整數。從它的價值被使用的地方,我不能改變它來管理一個元素的列表。我可以引用_r_來從字典所有者那裏刷新字典,但我希望會有更優雅的替代方案。 – srgblnch 2014-11-05 10:12:12
@srgblnch沒有;如果你想「改變」一個可變容器中的不可變對象,你必須替換它:'a_dict ['r'] = 2'。通讀例如http://nedbatchelder.com/text/names.html – jonrsharpe 2014-11-05 10:33:50
那麼,我最好的選擇是在字典擁有者中擁有一個「更新者」,他可以記住_r_,傳播更改。但是這也需要授予單點訪問權限。謝謝。 – srgblnch 2014-11-05 12:29:09