Все возможные комбинации и перестановки с повторением по python - PullRequest
0 голосов
/ 17 февраля 2020

По сути, я хочу сделать

def get_all_possible(N)
    for i0 in range(N) :
        for i1 in range(N) :
            for i2 in range(N) :
             ... for iNm1 in range(N) : #Nm1 is N minus 1
                     yield [i0,i1,i2,i3,...,iNm1]

и составить список всех возможных комбинаций числа 0-N для каждого индекса и их перестановок. Поэтому, когда N=4, тогда должно быть 4^4 возможных комбинаций для вывода. Это вложение для l oop неэффективно, и код не может быть легко расширен для общего N случая.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2020

Решение, которое помогает читабельности: itertools.product

import itertools
all_combs = list(itertools.product(range(4), repeat=4))
0 голосов
/ 17 февраля 2020

попробуй itertools.permutations или itertools.combinations

...