我正在尝试生成所有N+1
整数集,n_j
使得
n_0 < n_1 < ... < n_N
每个整数集n_j
在某个时间间隔内运行:n_min <= n_j < n_max
.
我目前的解决方案:
def generate_partitions(nmin, nmax,N):
n0 = range(nmin, nmax)
return (x for x in itertools.product(n0, repeat=N+1)
if len(set(x)) == N+1 and list(x) == sorted(x))
虽然它有效,但显然相当愚蠢。我觉得应该有一个itertools
基于更好的解决方案,但到目前为止我无法弄清楚,并且希望得到任何提示或指示。