小编Mif*_*ffy的帖子

使用python中的索引展平嵌套列表

我有一个清单 ['','','',['',[['a','b']['c']]],[[['a','b'],['c']]],[[['d']]]]

我想用索引展平列表,输出应如下所示:

flat list=['','','','','a','b','c','a','b','c','d']
indices=[0,1,2,3,3,3,3,4,4,4,5]
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

我已经试过了:

def flat(nums):
    res = []
    index = []
    for i in range(len(nums)):
        if isinstance(nums[i], list):
            res.extend(nums[i])
            index.extend([i]*len(nums[i]))
        else:
            res.append(nums[i])
            index.append(i)
    return res,index
Run Code Online (Sandbox Code Playgroud)

但这不能按预期工作。

python-3.x

5
推荐指数
1
解决办法
174
查看次数

标签 统计

python-3.x ×1