2017-01-20 3 views
-2
def transpose(matrix): 
    n=0 
    finalList = [] 
    while n < (len(matrix)): 
     li = [] 
     for sets in matrix: 
      li.append(sets[n]) 
     finalList.append(li) 
     n += 1 
    return finalList 

결과를 [(1], [2])로 바꾸고 [[1]]을 (를) 가져 오는 중입니다. 반환. 어떤 아이디어?함수가 올바른 출력을 반환하지 않습니다.

쉽게 수정에 대한
+1

왜 당신은 그것을 디버깅 볼 수 없습니다 만 len(matrix) 부분을 변경? 디버거로 실행하거나 펜과 종이로도 실행하면 쉽게 그 이유를 알 수 있습니다. – Li357

+0

문제는 트랜스 포즈 ([[1,2,3], [4,5,6], [7,8,9]]) 또는 트랜스 포즈 ([[1]) 할 때 작동한다는 것입니다. 쉬운 수정인지 또는 구조 조정이 필요한지 궁금합니다. –

+2

잘 작동하지 않는다면 아마도 그렇습니다. 하지만 먼저, 무엇이 잘못되었는지 알아 내십시오. – Li357

답변

0

, len(matrix[0])

def transpose(matrix): 
     n=0 
     finalList = [] 
     while n < (len(matrix[0])): 
      li = [] 
      for sets in matrix: 
       li.append(sets[n]) 
      finalList.append(li) 
      n += 1 
     return finalList 
관련 문제