【发布时间】:2013-03-16 20:26:16
【问题描述】:
我有一个嵌套列表:
l = [[1], [2,3], [2,4], [2,5], [2,5,6], [2,5,7], [2,5,8],[2,5,8,9], [10],[11,12]]
并且我需要列表位于树状结构的嵌套列表中,例如:
l = [{1:[], 2:[3,4,{5: [6,7, {8: [9]}]}], 10: [], 11: [12]}]
我已经完成了这个post,它生成了一个我需要的类似树,但是它适用于对称的嵌套列表集。我尝试使用列表项的groupby 功能,但无法生成所需格式的列表。我想在 python 中有一些东西可以很容易地做到这一点,而我目前正在失踪。一些指针将不胜感激。
【问题讨论】:
-
嵌套列表和嵌套字典的规则是什么?
-
@HYRY 列表中的下一个项目是列表中上一个项目的子项。所以在 [2,5,6] 中,5 是 2 的孩子,6 是 5 的孩子。基本上我必须将元素分组以形成树状结构,即父子关系。
-
为什么结果不像
{1: {}, 2: {3: {}, 4: {}, 5: {8: {9: {}}, 6: {}, 7: {}}}, 11: {12: {}}, 10: {}} -
@Dude 根据您的评论规则,您将拥有退化树木(没有树枝)的森林(多棵树)。此外,我看不到任何导致您编写的结果的模式。我什至不知道在这里问什么来澄清事情。
标签: python nested-lists