for k, v in d.iteritems():
if type(v) is dict:
for t, c in v.iteritems():
print "{0} : {1}".format(t, c)
Я пытаюсь прокрутить словарь и распечатать все пары ключей, где значение не является вложенным словарем. Если значение является словарем, я хочу войти в него и распечатать его пары значений ключа ... и т. Д. Любая помощь?Прокрутка всех значений вложенных словарей?
EDIT
Как насчет этого? Он все еще печатает только одно.
def printDict(d):
for k, v in d.iteritems():
if type(v) is dict:
printDict(v)
else:
print "{0} : {1}".format(k, v)
Полного тест Case
Словарь:
{u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'},
u'port': u'11'}}
Результат:
xml : {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': u'11'}
Похоже, вы хотите рекурсию, но описание не является достаточно ясным, чтобы быть конечно. Как насчет некоторых примеров ввода/вывода? Кроме того, что не так с вашим кодом? –
Будет ли только один уровень гнездования или произвольная глубина гнездования? – senderle
Глубина гнездования может варьироваться – Takkun