2
파이썬에서 모든 숫자 목록을 인쇄해야합니다. 파이썬 목록 번호
def lists(listNum, i):
if i == len(listNum) - 1:
print listNum
else:
for j in range(i, len(listNum)):
listNum[i], listNum[j] = listNum[j], listNum[i]
lists(listNum, i + 1)
listNum[i], listNum[j] = listNum[j], listNum[i]
lists([1, 2, 3], 0)
가 어떻게 번 씩만 목록을 인쇄 할 수 있습니다
지금까지 내가 쓴? 목록에 중복 요소가있는 경우 (예 : 1,1,2
이면 동일한 순서를 여러 번 인쇄합니다. 이걸 어떻게 막을 수 있니?
나는 무엇을 해야할지 잘 모릅니다. 다른 사람이 두 번 인쇄를 방지하는 방법을 알고 있습니까? 추가 된 내용의
어떤 이유 ['itertools.permutations()'(https://docs.python.org/2/library/itertools. html # itertools.permutations)? –
itertools ..없이 재귀 적으로이 작업을 수행해야합니다. –
실제로 재귀가 필요한지 의심 스럽습니다. Martijn이 제공하는 링크에서 제공되는 동등한 기능만으로도 충분합니다. 기술적으로, 당신은 어쨌든 itertools를 가져 오지 않을 것입니다. – Manhattan