1、数据源
data = [{'ID': 1, 'NM': '人', 'FID': 0},
{'ID': 2, 'NM': '男人', 'FID': 1},
{'ID': 3, 'NM': '女人', 'FID': 1},
{'ID': 4, 'NM': '狗', 'FID': 0},
{'ID': 5, 'NM': '猫', 'FID': 0},
{'ID': 6, 'NM': '狮子', 'FID': 0}]
2、转换方法及结果
def listtotree(datalist, root, fatherid, id):
"""
list转树形数据
:param datalist: 数据源 [{'ID': 1, 'NM': '人', 'FID': 0},{'ID': 2, 'NM': '男人', 'FID': 1}]
:param root: 根节点(最高等级fatherid值) 0
:param fatherid: 父级ID名 FID
:param id: 自增加序号ID字段 ID
:return:
"""
# resp_list = [i for i in data if i.get('FID') == 0]
resp_list = [i for i in datalist if i.get(fatherid) == root]
ic(resp_list)
# >>>[{'FID': 0, 'ID': 1, 'NM': '人'},
# {'FID': 0, 'ID': 4, 'NM': '狗'},
# {'FID': 0, 'ID': 5, 'NM': '猫'},
# {'FID': 0, 'ID': 6, 'NM': '狮子'}]
for i in datalist:
# i[