Python如何打印树形结构

已知List如下:

list = [
    {'id':1, 'title':'t1', 'parent_id':0},
    {'id':2, 'title':'t2', 'parent_id':0},
    {'id':3, 'title':'t1_1', 'parent_id':1},
    {'id':4, 'title':'t1_2', 'parent_id':1},
    {'id':5, 'title':'t1_2_1', 'parent_id':4},
    {'id':6, 'title':'t2_1', 'parent_id':2},
]

要求实现如下效果:

t1
  t1_1
  t1_2
     t1_2_1
t2
  t2_1 

解决方案如下:

#方法1:
def printList(parentId, tree, spaceStr = ''):
    for x in tree:
        if x['parent_id'] == parentId:
            print(spaceStr, x['title'], sep = '')
            printList(x['id'], tree, spaceStr + ' ')
 
printList(0, list)

 

posted @ 2017-11-27 22:42  碧水幽幽泉  阅读(3588)  评论(0编辑  收藏  举报