回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有这样的数据:</p>
<pre><code>data = [{'1234': [{u'gateway_ip': u'172.20.21.1',
u'ipv6_block': None,
u'private_block': u'172.20.21.0/24',
u'segment_name': u'VLAN1',
u'switch_ports': [{u'name': u'fa0/32',
u'switch_name': u'switch1.local',
u'switch_port_interface_type_name': u'eth'},
{u'name': u'fa0/15',
u'switch_name': u'switch2.local',
u'switch_port_interface_type_name': u'eth'}],
u'vlan_name': u'INSIDE',
u'vlan_number': 2031},
{u'gateway_ip': u'172.20.31.1',
u'ipv6_block': None,
u'private_block': u'172.20.31.0/24',
u'segment_name': u'VLAN2',
u'switch_ports': [{u'name': u'fa0/32',
u'switch_name': u'switch1.local',
u'switch_port_interface_type_name': u'eth'},
{u'name': u'fa0/15',
u'switch_name': u'switch2.local',
u'switch_port_interface_type_name': u'eth'}],
u'vlan_name': u'DMZ',
u'vlan_number': 2037}]}]
</code></pre>
<p>我想解析这些数据得到如下结果:</p>
<pre><code>[{1234:[{switch1.local:[{fa0/32:[2031,2037],{fa0/15:[2031,2037]}}]},{switch2.local:[{fa0/32:[2031,2037],{fa0/15:[2031,2037]}}]}]}]
</code></pre>
<p>基本上,我想得到分配给特定交换机端口和设备的VLAN列表</p>
<pre><code>[{device:[{switch1:{port1:[vlans-list]}},{switch1:{port2:[vlans-list]}}]}]
</code></pre>
<p>当我用append-on-list做这件事时,我现在知道的是不正确的,我得到的结果是这样的:</p>
<pre><code>[{device:[{switch1:{port1:[vlan1]}},{device:[{switch1:{port2:[vlan2]}]}}]}]
</code></pre>
<p>我相信这对你来说一开始是没有意义的,所以请提出问题,我会尽我所能回答他们。你知道吗</p>