擅长:python、mysql、java
<p>一般来说,不可能。dict可以任意递归深度,除了使用<code>for</code>循环外,没有什么好方法可以遍历它们。(您可以使用列表实现自己的堆栈并模拟递归,但这并不“好”。)</p>
<p>在<a href="https://stackoverflow.com/questions/9538875/recursive-depth-of-python-dictionary">this question.</a>中有一些遍历字典(计算深度)的递归代码</p>
<p>具体来说,当然。预先了解结构,可以使用正确数量的<code>for</code>循环:</p>
<pre><code>n = {'key1': {'keya': 'a', 'keyb': 'b'},
'key2': {'key3':{'keyc': 'c'}}, 'key4': 4}
for k1,v1 in n.items():
try:
for k2,v2 in v1.items():
try:
for k3,v3 in v2.items():
print(v3)
except AttributeError:
pass
except AttributeError:
pass
</code></pre>