我想设计一个自动生成的词典模板。
字典的格式是这样的:{'google_drive': {'services': []}, 'dropbox': {'services': []}, 'test': {'services': []}}
所有键具有相同的值,并且其值 ID/地址应不同。现在的问题是所有值都是相同的。{'services': []}
# init function has an array ["google_drive", "dropbox", "test"]
# so that all the key-value pairs can be created automatically
test = CloudInfo().init().config_info
print(id(test["google_drive"]["services"]))
print(id(test["dropbox"]["services"]))
print(id(test["test"]["services"]))
输出
2382756081216
2382756081216
2382756081216
我在封装的方法中发现了问题:
def update_all_value(self, keys, value):
__keys = keys
__dict = self.__dict
__value = value
if __keys is not None:
for key in __keys:
if key in __dict:
__dict.update({key: __value})
self.__dict = __dict
return self
所有键都指向单个变量 。__value
如果我更改为 ,字典值是不同的 id。但该函数不可重用。__dict.update({key: __value})__dict.update({key: {'services': []}})
有没有好的解决方案可以更新具有不同ID的所有字典值并保持输入参数的工作?value
不负相思意
相关分类