Написал функцию для составления всех размещений без повторений.
def combinator(setOfNum,length,deep=-1,arrayOfComb=[],num=[]):
if deep == -1 : deep = length
if deep == 0:
arrayOfComb.append(copy.copy(num))
return
for i in range(setOfNum):
if num.count(i) == 0: num.append(i)
else: continue
combinator(setOfNum,length,deep-1)
del num[-1]
if deep == length:
return copy.copy(arrayOfComb)
Проблема в том, что при каждом вызове функции, новый результат добавляется к старому. Удаление перед return не помогает. Мне кажется, что списки нужно передавать по другому.