<p>以下是我理解的工作(对于您的特定示例,这依赖于list <code>+</code>行为):</p>
<pre><code>def unpack(l):
j = []
for i in l:
if type(i) != list:
j.append(i)
else:
j = j + unpack(i)
return j
j = {}
for k, v in l.items():
j[k] = unpack(v)
</code></pre>
<p>在您的示例中,从<code>dict</code>开始:</p>
^{pr2}$
<p>你的结局是</p>
<pre><code>j = {'object network fake12': [' host 10.0.0.12'],
'object-group network prt-apps': [' network-object object fake-1',
' network-object object fake2',
' network-object object fake3',
' network-object object fake121'],
'object network fake-1': [' host 10.0.0.1'],
'object network fake2': [' host 10.0.0.2 '],
'object network fake3': [' host 10.0.0.0 255.255.255.0'],
'object-group network prt-apps2': [' network-object object fake4',
' group-object prt-apps',
' network-object object fake-1',
' network-object object fake2',
' network-object object fake3',
' network-object object fake121'],
'object-group network prt-apps3': [' network-object object fake5',
' group-object prt-apps2',
' network-object object fake4',
' group-object prt-apps',
' network-object object fake-1',
' network-object object fake2',
' network-object object fake3',
' network-object object fake121'],
'object network fake4': [' host 10.0.0.4'],
'object network fake5': [' host 10.0.0.5']}
</code></pre>