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/

10-11 06:38