在python中访问嵌套结构
我有一个结构在python中访问嵌套结构,python,Python,我有一个结构sw\u列表格式如下 {'ports': [{'hw_addr': 'ee:b1:ab:b1:0e:a0', 'name': 's1-eth1', 'port_no': '00000001', 'dpid': '0000000000000201'}, {'hw_addr': 'f6:83:4d:e4:41:7d', 'name': 's1-eth2', 'port_no': '00000002', 'dpid': '0000000000000201'}
sw\u列表
格式如下
{'ports': [{'hw_addr': 'ee:b1:ab:b1:0e:a0', 'name': 's1-eth1', 'port_no': '00000001', 'dpid': '0000000000000201'},
{'hw_addr': 'f6:83:4d:e4:41:7d', 'name': 's1-eth2', 'port_no': '00000002', 'dpid': '0000000000000201'}
], 'dpid': '0000000000000201'}
for index,switch in enumerate(sw_list):
dpid_str = dpid_to_str(switch.dp.id)
上面的循环将在结构的末尾打印dpid_str,即“0000000000000 201”。
现在我想访问端口结构的内容,例如
端口0:硬件地址、名称、端口号等
我该怎么做?我不明白这个问题。你能试着重新措辞吗?那么
sw_list
实际上不是list
,而是dict
?另外,末端悬挂的)
应该关闭什么?
d={'ports': [{'hw_addr': 'ee:b1:ab:b1:0e:a0', 'name': 's1-eth1', 'port_no': '00000001', 'dpid': '0000000000000201'},
{'hw_addr': 'f6:83:4d:e4:41:7d', 'name': 's1-eth2', 'port_no': '00000002', 'dpid': '0000000000000201'}
], 'dpid': '0000000000000201'}
for i in d["ports"][0]:
print "{} : {}".format(i,d["ports"][0][i])
hw_addr : ee:b1:ab:b1:0e:a0
name : s1-eth1
port_no: 00000001
dpid : 0000000000000201