@JSent

Как правильно передавать список в функцию Python?

Написал функцию для составления всех размещений без повторений.
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 не помогает. Мне кажется, что списки нужно передавать по другому.
  • Вопрос задан
  • 772 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы