2016-10-08 33 views
0

要求:構造的數據結構與在python特殊要求

  1. 有一個可變的,例如,related_to_dict = 10
  2. 構造一個關鍵值對的數據,例如,special_dict = {0: ref_related_to_dict}
  3. 當related_to_dict的變量發生變化時, special_dict [0]的值也相應地變爲related_to_dict 的值。
  4. 當value_of special_dict [0],例如ref_related_to_dict已更改,related_to_dict的 值也相應地更改爲 special_dict [0]的值。

有沒有辦法實現這個任務?

回答

1

您需要將值包裝在某種容器中。

class Ref: 
    def __init__(self, v): 
     self.val = v 

然後:

related_to_dict = Ref(10) 
special_dict = {0: related_to_dict} 

然後它根據需要:

related_to_dict.val = 40 
print(special_dict[0].val) # 40 
+0

但是第四條件未成就,這一點,如果special_dict [0]改變,其相關變量應該相應地改變。所以也許字典式的數據結構不適合這裏。 – soarinblue

+0

這是,你只需要改變包裝值:'special_dict [0] .val = 653'。換句話說,'ref_related_to_dict = special_dict [0]; ref_related_to_dict.val = 653' – Claudiu

+0

這很合理,謝謝!但是如果在Python中有像C編程這樣的指針,那麼它會更簡單。 – soarinblue