2016-03-21 28 views
-2

我有一个字典,其中每个索引都有数组作为值。我想检索每个数组,并将索引与该数组中的每个值一起打印出来。我该怎么做?如何遍历Python中的以下字典

{'bridge0': [snic(family=18, address='3a:c9:86:61:01:00', netmask=None, broadcast=None, ptp=None)], 
'lo0': [snic(family=2, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None), snic(family=30, address='::1', netmask='ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', broadcast=None, ptp=None), snic(family=30, address='fe80::1%lo0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)], 
'en0': [snic(family=18, address='38:c9:86:16:8c:c9', netmask=None, broadcast=None, ptp=None)], 
'en1': [snic(family=2, address='192.168.1.37', netmask='255.255.255.0', broadcast='192.168.1.255', ptp=None), snic(family=18, address='38:c9:86:3a:2a:7a', netmask=None, broadcast=None, ptp=None), snic(family=30, address='fe80::3acd:86ff:feea:2a7a%en1', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)], 
'en2': [snic(family=18, address='d2:00:1d:98:9b:d0', netmask=None, broadcast=None, ptp=None)], 
'p2p0': [snic(family=18, address='1a:c9:86:ea:2a:7b', netmask=None, broadcast=None, ptp=None)], 
'awdl0': [snic(family=18, address='66:f7:08:8a:1f:d3', netmask=None, broadcast=None, ptp=None), snic(family=30, address='fe80::64f7:8ff:fe8a:1fc3%awdl0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)], 
'vboxnet0': [snic(family=2, address='192.168.99.1', netmask=None, broadcast='192.168.99.255', ptp=None), snic(family=18, address='0a:00:27:00:00:10', netmask=None, broadcast=None, ptp=None)], 
'fw0': [snic(family=18, address='08:74:02:ff:fe:d9:89:bx', netmask=None, broadcast=None, ptp=None)]}<br> 

这是我tried.Where netw是字典上面:

for x,y in netw: 
     print x 
     print y 
+1

请向我们展示您尝试过的内容。 –

+0

@Bryan Oakley这里是试用的代码 – sureshprasanna70

回答

1

当您在Python中对字典进行迭代时,您将获得其键。如果你想同时得到键和值,迭代字典的items()

for key, value in netw.items(): 
    # maybe iterate again over the value list here? 
    print key, value 

在Python 2里,如果你的字典有很多值,你可能需要使用iteritems()代替items()(前者返回一个迭代器,而不是将所有项目放入列表中)。在Python 3中,items()返回一个“view”对象,它是一个轻量级迭代器,与Python 2中的iteritems返回的迭代器没有多大区别。

0

可以先得到字典d键。 然后通过字典的每个键访问数组。

for k in d.keys(): 
    for i in range(len(d[k])): 
     print "d["+k+"]["+i+"]="+d[k][i] 
+0

你很少需要调用'keys()'。直接迭代字典会产生键,但如果你也想要这些值,你应该使用'items()'来代替(而不是迭代键和索引值) – Blckknght