擅长:python、mysql、java
<p>这是一个函数,我和一些决策树一起用于语言处理,它不是你想要的,但它的基本思想是相同的。在</p>
<pre><code>def nodeMapForDict(d):
node_map = []
node_path = []
def nodeRecursiveMap(d, node_path):
for key, val in d.items():
if type(val) is not dict: node_map.append(node_path + [key])
if type(val) is dict:
nodeRecursiveMap(val, node_path + [key])
nodeRecursiveMap(d, node_path)
return node_map
</code></pre>
<p>这里有一个适合您的用例:</p>
^{pr2}$
<p>示例:</p>
<pre><code>d= {'d': [1, 2, 3, 4], 'e': {'b': {'c': 1}}, 'a': {'b': 'c'}}
In [49]: flattenDict(d)
Out[49]: {'d': [1, 2, 3, 4], 'e.b.c': 1, 'a.b': 'c'}
</code></pre>