我知道扁平化嵌套列表的主题之前已经详细介绍过,但是我认为我的任务有点不同,我找不到任何信息。
我正在写一个刮板,作为输出,我得到一个嵌套列表。顶级列表元素应该成为电子表格形式的数据行。但是,由于嵌套列表通常具有不同的长度,因此我需要在展平列表之前扩展它们。
这是一个例子。我有
[ [ "id1", [["x", "y", "z"], [1, 2]], ["a", "b", "c"]],
[ "id2", [["x", "y", "z"], [1, 2, 3]], ["a", "b"]],
[ "id3", [["x", "y"], [1, 2, 3]], ["a", "b", "c", ""]] ]
我最终想要的输出是
[[ "id1", "x", "y", z, 1, 2, "", "a", "b", "c", ""],
[ "id2", "x", "y", z, 1, 2, 3, "a", "b", "", ""],
[ "id3", "x", "y", "", 1, 2, 3, "a", "b", "c", ""]]
但是,像这样的中间列表
[ [ "id1", [["x", "y", "z"], [1, 2, ""]], ["a", "b", "c", ""]],
[ "id2", [["x", "y", "z"], [1, 2, 3]], ["a", "b", "", ""]],
[ "id3", [["x", "y", ""], [1, 2, 3]], ["a", "b", "c", ""]] ]
然后我可以简单地展平也可以。
顶级列表元素(行)在每次迭代中构建,并附加到完整列表中。我想最后转换完整列表更容易吗?
嵌套元素的结构应该是相同的,但是我现在不能确定。我想我有一个问题,如果结构看起来像这样。
[ [ "id1", [[x, y, z], [1, 2]], ["a", "b", "c"]],
[ "id2", [[x, y, z], [1, 2, 3]], ["bla"], ["a", "b"]],
[ "id3", [[x, y], [1, 2, 3]], ["a", "b", "c", ""]] ]
这应该成为
[[ "id1", x, y, z, 1, 2, "", "", "a", "b", "c", ""],
[ "id2", x, y, z, 1, 2, 3, "bla", "a", "b", "", ""],
[ "id3", x, y, "", 1, 2, 3, "", "a", "b", "c", ""]]
感谢您的任何评论,如果这是微不足道的,请原谅,我对 Python 相当陌生。