相关疑难解决方法(0)

用于整数分区的优雅Python代码

我试图编写代码来解决标准的整数分区问题(维基百科).我写的代码很乱.我需要一个优雅的解决方案来解决问题,因为我想改进我的编码风格.这不是一个家庭作业问题.

python algorithm

32
推荐指数
6
解决办法
3万
查看次数

如何在组长度和组内元素的所有可能组合中将列表拆分为n个组?

我想在所有可能的组合中将列表拆分为n组(允许变量组长度).

说,我有以下列表:

lst=[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

如果我指定n = 2,则可以将列表分成1个元素-3元素或2个元素-2元素的组.在这两种分割列表的方式中,每个列表中都有各种元素的唯一组合.

当n = 2时,这些将是:

(1),(2,3,4)
(2),(1,3,4)
(3),(1,2,4)
(4),(1,2,3)
(1,2),(3,4)
(1,3),(2,4)
(1,4),(2,3)
Run Code Online (Sandbox Code Playgroud)

当n = 1时,这些将是:

(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

n = 3时,这些将是:

(1),(2),(3,4)
(1),(3),(2,4)
(1),(4),(2,3)
(2),(3),(1,4)
(2),(4),(1,3)
(3),(4),(1,2)
Run Code Online (Sandbox Code Playgroud)

我对长度为0的组不感兴趣,并且组内的顺序无关紧要.

我发现了两个类似的问题,但他们并没有完全回答我的问题.

这个问题将列表分成所有组合,其中每个组的长度为n(我发现@tokland的答案)特别有用).但是,我并不是要寻找所有组长度相同的组.

然后,问题的第一步获得拆分位置的独特组合,以将列表拆分为n个组.但是,此处保留了列表顺序,并且未确定这些组中元素的唯一组合.

我正在寻找这两个问题的组合 - 列表在组长度的所有可能组合中分成n组,以及组内元素的组合.

python

6
推荐指数
2
解决办法
4821
查看次数

标签 统计

python ×2

algorithm ×1