如何在Python中从平面列表构建嵌套列表?

2024-04-25 07:44:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的列表,例如:

flat = ['1', '1-1', '1-1-1', '1-2', '2', '2-1', '2-2', '3']

我需要转换为嵌套列表,其中每个级别(短划线后接数字)都会启动一个新的子列表,例如:

^{pr2}$

在Python中有什么提示吗?在


Tags: 列表数字级别flat划线pr2
1条回答
网友
1楼 · 发布于 2024-04-25 07:44:11
def nested(flat, level=0):
    for k, it in itertools.groupby(flat, lambda x: x.split("-")[level]):
        yield next(it)
        remainder = list(nested(it, level + 1))
        if remainder:
            yield remainder

示例:

^{pr2}$

相关问题 更多 >