所以我有一个列表作为各种各样的'map',以及从JSON文件中提取的dict。
对于这个例子,让我们说它们看起来像这样:
L = ['One', 'Two', 'Three']
D = {
"One": {
"Two": {
"Three": {
"Four": "String"
}
}
}
}
我的游戏需要一个功能。
我将传递两件事:L
和Object
。
请注意,L
只会导致"Three"
,这就是我要替换的内容。但是,我可以在未知的事件中替换"Four"
或任何其他元素。
我正在替换的内容可以是string
,list
或dict
,我可以将其替换为任何其他对象,包括None
,或者bool
。
除了被替换的值之外,D
的结构需要保持完整。
答案 0 :(得分:0)
此函数将一个字符串列表作为路径和一个对象来替换定位的值,对全局变量nested_dicts
进行操作。如果您想要遵循功能范例,您可能需要相应地重写它。
def replace (path, replacement):
pointer = nested_dicts
try:
for key in path[:-1]:
pointer = pointer[key]
except KeyError:
return False
pointer[path[-1]] = replacement
return True
答案 1 :(得分:0)
这样的工作(add(Double value)
是path
,L
是替代品):
o