列出一份形状不规则的 list ,比如:

L = [[[1,2,3],[4,5],6]

(我所说的不规则形状指的是任何不规则形状,而不仅仅是我举的例子). 现在让它变平,如所描述的here获得

L_flat = [1,2,3,4,5,6]

现在来看一张与扁平的形状相同的新单子,比如:

L_flat_new = [a,b,c,d,e,f]

我如何才能重新构建这个新列表,使其具有与原始元素相同的形状?

所需输出:L_flat_new_reshaped = [[[a,b,c],[d,e],f]

推荐答案

try 递归:

L = [[[1, 2, 3], [4, 5], 6]]

L_flat_new = ["a", "b", "c", "d", "e", "f"]


def reshape(orig, i):
    if isinstance(orig, list):
        return [reshape(v, i) for v in orig]
    else:
        return next(i)


print(reshape(L, iter(L_flat_new)))

打印:

[[['a', 'b', 'c'], ['d', 'e'], 'f']]

Python相关问答推荐

在Admin中显示从ManyToMany通过模型的筛选结果

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

如何将泛型类类型与函数返回类型结合使用?

极柱内丢失类型信息""

如何根据一定条件生成段id

文本溢出了Kivy的视区

与同步和异步客户端兼容的Python函数

如何在基于时间的数据帧中添加计算值

来自任务调度程序的作为系统的Python文件

PyTorch变压器编码器中的填充掩码问题

意外的麻木图像reshape 为网格问题

matplotlib散点图与NaNs和cmap colored颜色 矩阵

Pandas:根据系列词典中的值筛选行

如何在不窥视future 的情况下,在Python中对OHLC数据帧进行重采样?

如何动态修改气流任务decorator 属性?

极点中的链接表达式不起作用

FASK集合变量未更新(HTML)中的值

Django按字段上的子字符串分组

如何编写拆分和 Select 每个PANAS列中的第一个元素的Python函数

Django FileResponse在处理大文件时崩溃