0
임의의 차원의 다차원 구조로 작업합니다. 내가 다차원 배열의 인덱스를 나타내는 각각의 반복자로, xrange
반복자의 파이썬 목록을 가지고 :다차원 인덱스 (임의의 차원) 목록 표현에 대한 효율적인 반복
indices = [ i, j, k ]
i = xrange(1,3)
j = xrange(3,5)
k = xrange(5,7)
이 가능한 모든 값을 생성하기 위해, 나는 다음과 같은 순진 재귀 코드를 사용합니다 :
def travtree(index,depth):
"Recursion through index list"
if depth >= len(indices):
# Stopping Condition
print index
else:
# Recursion
currindexrange = indices[depth]
for currindex in xrange(len(currindexrange)):
newindex = list(index) # list copy
newindex.append(currindexrange[currindex])
travtree(newindex,depth+1)
travtree([],0)
괜찮 으면 좋겠지 만 궁금한 점이 있습니다. 더 효율적이고 파이썬 적으로 이것을 할 수 있습니까? itertools
모듈을 살펴 보았지만 나에게 아무 것도 나오지 않았습니다.
1 for itertools. 동일한 접근 방식을 가졌지 만 너무 느리게 게시 됨 – ch3ka
우수 답변! – Gilead