티스토리 뷰

반응형



1차원 list 의 합 구하기 

a = [1,2,3]
sum(a)

  • 1차원 list 의 경우 다음과 같이 sum() 함수를 사용해주면 됩니다. 아주 간단히 6이 출력되는 것을 확인할 수 있습니다. 하지만 2차원 list 의 경우 sum() 함수를 사용했을 경우 TypeError: unsupported operand type(s) for +: 'int' and 'list'  에러가 발생하는 것을 알 수 있습니다.



2차원 이상 list 의 합 구하기 

  • 리스트의 합을 구하다가 int 값이 아닌 list 값을 만나면 그 안의 합을 구해주는 방식으로 재귀함수를 구성해야 2차원 이상의 list 합을 구할 수 있습니다.

lst = [ [ 1, [1,1,1,1], 1 ] , [ 1,1,1 ] ]

def sum_list(lst, res = 0):    
for i in lst:
          if type(i) == list:
                res += sum_list(i)
          else:
                res += i
return res

print(sum_list(lst))

  • sum_list 라는 총합을 구하는 함수 입니다. 리스트를 인자로 받아 합을 구해나가는데, 값이 리스트일 경우 다시 sum_list 함수를 실행해서 그 리스트의 합을 반환 합니다.

  • lst : [ [ 1, [1,1,1,1], 1 ] , [ 1,1,1 ] ]  의 전체 합은 9 라는 것을 확인할 수 있습니다.

  • 2차원 이상의 리스트의 합을 구하는 것은 트리 알고리즘 들에서 유용하게 사용할 수 있습니다.






부족한 블로그에 방문해 주셔서 감사합니다.

잘못된 부분이나 질문이 있으시면 

댓글로 말씀해주세요.


금방 확인하고 피드백 드리겠습니다.


좋은 하루 되세요. ^^


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함