Zapętlić wszystkie zagnieżdżone wartości słownika?
for k, v in d.iteritems():
if type(v) is dict:
for t, c in v.iteritems():
print "{0} : {1}".format(t, c)
Próbuję przejść przez słownik i wydrukować wszystkie pary kluczowych wartości, których wartość nie jest słownikiem zagnieżdżonym. Jeśli wartość jest słownikiem, do którego chcę się dostać i wydrukować jej pary kluczowych wartości ... itd. Jakaś pomoc?
EDYTOWAĆ
Co powiesz na to? Nadal drukuje tylko jedną rzecz.
def printDict(d):
for k, v in d.iteritems():
if type(v) is dict:
printDict(v)
else:
print "{0} : {1}".format(k, v)
Pełna sprawa testowa
Słownik:
{u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'},
u'port': u'11'}}
Wynik:
xml : {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': u'11'}