#评论列表(从数据库中取出):
comment_list = [
{'id': 1, 'content': '乔妹天下最最美', 'user': '小赵', 'parent_id': None},
{'id': 2, 'content': '感觉不相信爱情了', 'user': '张全蛋', 'parent_id': None},
{'id': 3, 'content': '好嗨哟,感觉...', 'user': '刘海柱', 'parent_id': None},
{'id': 4, 'content': '给你100个赞', 'user': '小六', 'parent_id': 1},
{'id': 5, 'content': '你很有品位哦', 'user': '小王', 'parent_id': 1},
{'id': 6, 'content': '我从没见过如此有光的人', 'user': '千年老二', 'parent_id': 4},
{'id': 7, 'content': '老子天下第一', 'user': '老五', 'parent_id': 2},
{'id': 8, 'content': '我女朋友好漂亮...', 'user': '隔壁老王', 'parent_id': 3},
{'id': 9, 'content': '哈哈哈哈...', 'user': '二垓扛把子', 'parent_id': 6},
{'id': 10, 'content': '我的兄弟叫顺溜', 'user': '小明', 'parent_id': None},
]
ret = []
comment_list_dict = {}
for row in comment_list: #将列表转为字典(查找效率) 哈希
row.update({'children': []})
comment_list_dict[row['id']] = row
"""
comment_list_dict
{
1:{'id': 1, 'content': '乔妹天下最最美', 'user': '小赵', 'parent_id': None},
2:{'id': 2, 'content': '感觉不相信爱情了', 'user': '张全蛋', 'parent_id': None},
3:{'id': 3, 'content': '好嗨哟,感觉...', 'user': '刘海柱', 'parent_id': None},
4:{'id': 4, 'content': '给你100个赞', 'user': '小六', 'parent_id': 1},
5: {'id': 5, 'content': '你很有品位哦', 'user': '小王', 'parent_id': 1},
6:{'id': 6, 'content': '我从没见过如此有光的人', 'user': '千年老二', 'parent_id': 4},
7: {'id': 7, 'content': '老子天下第一', 'user': '老五', 'parent_id': 2},
8:{'id': 8, 'content': '我女朋友好漂亮...', 'user': '隔壁老王', 'parent_id': 3},
9:{'id': 9, 'content': '哈哈哈哈...', 'user': '二垓扛把子', 'parent_id': 6},
10:{'id': 10, 'content': '我的兄弟叫顺溜', 'user': '小明', 'parent_id': None}
}
"""
for item in comment_list:
parent_row = comment_list_dict.get(item['parent_id'])
if not parent_row:
ret.append(item)
else:
parent_row['children'].append(item)
print(ret)