循環遍歷所有嵌套的字典值?for k, v in d.iteritems():
if type(v) is dict:
for t, c in v.iteritems():
print "{0} : {1}".format(t, c)我試圖循環遍歷一個字典,并打印出值不是嵌套字典的所有鍵值對。如果這個值是一個字典,我想進入它并打印出它的鍵值對…等等。有什么幫助嗎?編輯這個怎么樣?它仍然只印了一件東西。def printDict(d):
for k, v in d.iteritems():
if type(v) is dict:
printDict(v)
else:
print "{0} : {1}".format(k, v)全測試用例字典:{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'}
3 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
def myprint(d): for k, v in d.iteritems(): if isinstance(v, dict): myprint(v) else: print "{0} : {1}".format(k, v)
def myprint(d): for k, v in d.items(): if isinstance(v, dict): myprint(v) else: print("{0} : {1}".format(k, v))

呼如林
TA貢獻1798條經驗 獲得超3個贊
def myprint(d): stack = d.items() while stack: k, v = stack.pop() if isinstance(v, dict): stack.extend(v.iteritems()) else: print("%s: %s" % (k, v))
添加回答
舉報
0/150
提交
取消