<pre><code>def search_recurssive(element=None, main={}, depth=0):
l = []
for key, value in main.items():
if key != element:
if isinstance(value, dict):
l.append(key)
l += search_recurssive(element=element, main=value, depth=depth+1)
else:
pprint(value)
print depth
return l
</code></pre>
<p>我刚刚修改了你的代码,使之能像你期望的那样工作</p>
<pre><code>search_recurssive(element='Metal', main=data)
</code></pre>
<p>现在,您需要调整它以获得下一个子图并搜索下一个组。你知道吗</p>
<p>编辑:
只是修改了我之前的答案来做选择的全面搜索。你知道吗</p>
<pre><code>selection = ['Finition', 'Metal', 'Color', 'colorConstant2']
next_group = data
def search_recurssive(element=None, main={}, depth=0):
global next_group
l = []
for key, value in main.items():
if key != element:
if isinstance(value, dict):
l.append(key)
l += search_recurssive(element=element, main=value, depth=depth+1)
else:
print(value)
print depth
next_group = main
return l
def search_selection(selection, data):
return [search_recurssive(element, next_group) for element in selection]
</code></pre>