Задать вопрос
@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 не помогает. Мне кажется, что списки нужно передавать по другому.
  • Вопрос задан
  • 853 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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