List1=[0, 1, 2, 3, 4, 5]
我想生成以下 list2,其中包含来自 list1 的四元素嵌套序列。
[0, 1, 2, 3]
[0, 1, 2, 4]
[0, 1, 2, 5]
[0, 1, 3, 4]
[0, 1, 3, 5]
[0, 1, 4, 5]
[0, 2, 3, 4]
[0, 2, 3, 5]
[0, 2, 4, 5]
[0, 3, 4, 5]
[1, 2, 3, 4]
[1, 2, 3, 5]
[1, 2, 4, 5]
[1, 3, 4, 5]
[2, 3, 4, 5]
最终的问题将使用包含更多元素的 list1 和包含多于四个元素的嵌套序列的 list2。但是,我相信逻辑是相同的,希望这个例子是清楚的。
我基本上是在从给定的列表中寻找所有可能的“x 元素”渐进嵌套序列。
我已经编写了一个循环来生成带有三元素嵌套序列的 list2。不幸的是,我的解决方案很丑陋,嵌套序列中的元素越多,它就越难看。我的猜测/希望这是一个已知的数学问题,有一个简单的 Python 解决方案。我的研究使我相信这是一个递归问题,但我很难将其转换为代码。
最佳答案
查找 itertools.combinations
基本上,您正在寻找的是:
import itertools
itertools.combinations([0, 1, 2, 3, 4, 5], 4)
关于python - 从另一个列表创建所有可能的嵌套序列的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21245589/