應用場景
假設有這樣一個字典結構test_dict = {'a':{'b':{'c':1}},'d':2},test_dict其實可以看作是一種樹狀結構,其中每個葉子節點深度不一定相同,如果我們希望輸出根節點到所有葉子節點的路徑,也就是a->b->c->1;d->2,該如何解決?
代碼
#encoding=utf-8
import sys
def recurPrintPath(dic):
for key in dic.keys():
print key
#判斷下一級是否還是字典,如果是字典繼續遞歸
if type(dic[key]) == type({}):
recurPrintPath(dic[key])
else:
print dic[key]
print '--------------'
def main():
reload(sys)
sys.setdefaultencoding('utf-8')
test_dict = {'a':{'b':{'c':1}},'d':2}
recurPrintPath(test_dict)
if __name__ == '__main__':
main()
輸出結果:
a
b
c
1
--------------
d
2
--------------