如何在Python中遍历以下字典

2024-05-19 08:59:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dict,其中每个索引都有一个数组作为值。我想检索每个数组并打印该数组中的每个值以及索引。我该怎么做?你知道吗

{'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>

这就是我所拥有的试过了。哪里netw是上面的格言:

 for x,y in netw:
       print x
       print y

Tags: noneaddress数组familynetmaskbroadcastc9ptp
2条回答

你可以先弄到字典的钥匙。 然后按字典的每个键访问数组。你知道吗

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

在Python中迭代字典时,将得到它的键。如果同时需要键和值,请迭代字典的items()

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

在python2上,如果您的字典有很多值,那么您可能希望使用iteritems()而不是items()(前者返回一个迭代器,而不是将所有项放在一个列表中)。在python3中,items()返回一个“view”对象,它是一个轻量级的iterable,与python2中iteritems返回的迭代器没有太大区别。你知道吗

相关问题 更多 >

    热门问题