我正在使用在某些地方可能具有“模棱两可”值的列表。这些列表足够小,以至于实现回溯搜索似乎很愚蠢。目前,我在列表中使用包含可能值的子列表来表示不明确的值。例如,列表:
[1, 2, [3,4]]
可以是列表[1,2,3]
或[1,2,4]
. 列表中可能有多个不明确的值,尽管不明确的元素本身可能不包含不明确的元素。给定一个包含不明确值的列表,我正在尝试生成一个列表,其中包含该列表可以表示的所有可能列表。上一个列表应该返回[[1,2,3],[1,2,4]]
。
有没有一种优雅的方式来做到这一点?我试图以递归方式向后构建每个列表并附加到一个空列表,但我无法完全理解如何做到这一点。