擅长:python、mysql、java
<p>替换嵌套数据结构中的深层是一个自然的递归问题,因此很自然地使用递归函数来解决它:</p>
<pre class="lang-py prettyprint-override"><code>def replace_deep(data, a, b):
if isinstance(data, str):
return data.replace(a, b)
elif isinstance(data, dict):
return {k: replace_deep(v, a, b) for k, v in data.items()}
elif isinstance(data, list):
return [replace_deep(v, a, b) for v in data]
else:
# nothing to do?
return data
</code></pre>
<p>这里我假设您有类似于JSON的数据,所以您希望在嵌套的字典和列表上递归,而不会有元组、集合或其他容器。如果有,您可以为函数添加额外的案例,以满足您自己的需要</p>