2012-09-22 4 views
1

세트 내가 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 기반 솔루션이 있어야한다고 생각합니다. 그러나 지금까지 알아낼 수 없으며 모든 힌트 또는 포인터에 감사드립니다.

+0

백 슬래시가 중복됩니다. 괄호, 대괄호 또는 중괄호와 일치하는 경우에는 필요하지 않습니다. –

+0

아, 잘 고마워, 고마워! –

답변

2

어때 대략 itertools.combinations(range(nmin, nmax), N + 1)?

+0

ooops, facepalm –