gpt4 book ai didi

python - 展平一个不规则列表并 reshape 另一个重建原始元素顺序的相同长度的平面列表

转载 作者:行者123 更新时间:2023-12-05 01:50:07 24 4
gpt4 key购买 nike

取一个不规则形状的列表,例如:

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]

最佳答案

尝试递归:

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 - 展平一个不规则列表并 reshape 另一个重建原始元素顺序的相同长度的平面列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73373180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com