Repetir todos os valores de dicionário aninhados?
for k, v in d.iteritems():
if type(v) is dict:
for t, c in v.iteritems():
print "{0} : {1}".format(t, c)
Eu estou tentando percorrer um dicionário e imprimir todos os pares de valores chave onde o valor não é um dicionário aninhado. Se o valor for um dicionário, eu quero entrar nele e imprimir seus pares de valores chave ... etc. Qualquer ajuda?
EDITAR
Que tal agora? Ainda imprime apenas uma coisa.
def printDict(d):
for k, v in d.iteritems():
if type(v) is dict:
printDict(v)
else:
print "{0} : {1}".format(k, v)
Caso de teste completo
Dicionário:
{u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'},
u'port': u'11'}}
Resultado:
xml : {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': u'11'}