2016-10-08 35 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