Из индекса k цикла получить кортежи (x_1, x_2, ... x_n) с x_i <x_ {i + 1} для 1 <= i <= n-1 - PullRequest
0 голосов
/ 12 июля 2019

Этот вопрос вдохновлен и, по сути, является обобщением этого вопроса: Из индекса k цикла, получить пары i, j с i

Для некоторых n,Я хочу, чтобы индекс цикла k дал мне все n наборов из m чисел [0, 1, 2, ..., m-1], чьи координаты строго увеличиваются в лексикографическом порядке.

Например, если n = 2, m = 3, я хочу запустить переменную k так, чтобы она выводила в порядке (0,1), (0,2), (0,3), (1,2), (1,3), (2,3)

В качестве другого примера, если n = 3, m = 4, я хочу (0,1,2), (0,1, 3), (0,1,4), (0,2,3), (0,2,4), (0,3,4), (1,2,3), (1,2,4)), ... (1,3,4), (2,3,4)

Проблема, по сути, в посте, с которым я связан при n = 2.Однако принятый ответ не дает числа в том порядке, в котором я хотел.

1 Ответ

0 голосов
/ 12 июля 2019

Ну, я понял это для себя.Скажем, для n = 3 Это просто что-то вроде

for i in range(m-1):
for j in range(m):
    for k in range(m):
        if i<j and j<k:
            print(i,j,k) 

Тогда вы можете сохранить записи в виде списка, и индекс будет просто бегать по списку.

...