【发布时间】:2015-03-09 07:34:05
【问题描述】:
有一个内部元素的外部列表,每个内部元素是 平面/嵌套列表。每个所述内部列表具有与前面的外部单元格中的内部列表匹配的嵌套结构。这意味着列表中的每个原始值都对应于原始值或列表 - 在以下单元格列表中(递归应用)。因此,每个内部列表的深度等于或超过前一个单元格中元素深度的 1。
(请注意,第一个单元格元素可以作为任意深度的嵌套列表开始)。
以上示例:
[
[[1, 2, [3, 4]], 1 ],
[[3, [4, 5], [6, 7]], [5, 4] ],
[[5, [6, 7], [8, 9]], [7, [8, 6]] ],
]
希望将嵌套列表展开为元组列表,其中每个值与父值组合,或者如果父项是列表则与相应的列表元素组合(保持顺序)。所以对于上面的示例列表,输出应该是:
[
(1, 3, 5),
(2, 4, 6),
(2, 5, 7),
(3, 6, 8),
(4, 7, 9),
(1, 5, 7),
(1, 4, 8),
(1, 4, 6),
]
注意:这个问题是对上一个问题here 的扩展,但与链接问题不同的是,这里所需的元组是扁平的。
【问题讨论】:
-
当数据结构复杂时,像这样,你应该修复源:(
-
为什么是
[(2,4,6),(2,5,7)]而不是[(2,[4,5],[6,7])]? -
@khajvah:所需的输出是平面元组, - 这与链接的问题不同,我将编辑以澄清这一点。如果列表有父原语,则列表中的每个值都与父元素结合,如果列表有父列表,则对应的值结合。
-
@thefourtheye:你能指出问题吗?
-
关于问题本身的注释。我认为,您的声誉可以解决问题。如果您是新人,您会看到很多反对票和 cmets,例如:“您尝试过什么吗?”、“我们不做作业”、“尝试一些事情然后问我们是否有问题。”.. .