我正在从数据库中检索格式化为列表的数据, 路径也是一个列表。
id Type Path parent
179 Manu {179,206,208} none
68 Connect {68,111} none
130 Sources {130,131} none
68 Connect {68,101,105} none
208 Connector {208} 206
206 Polster {206,208} 179
131 Image {131} 130
105 ManuEq {105} 101
101 Fi {101,105} 68
111 Fibo {111} 68
有类型和子类型。父级都不是的类型。
仅从Top类型开始,我需要创建面包屑(可以是多个)。
示例:
Manu-> Polster-> Connector
因此,我只需要检查父元素为None的元素即可。
面包屑= {}
for el in el_list:
if parent is None:
# create/append the breadcrumb_array
breadcrumbs[id] = []
breadcrumbs[id].append(type)
for el in el_list:
if el.id in el.path:
breadcrumbs[id].append(type)
这是我的问题,对于每个null,我循环遍历所有列表以查找路径中的元素,当我拥有大量数据时,这会花费一些时间。
因此,考虑到顶部始终始终位于列表的第一位,也许是一个循环的解决方案。