알고리즘 연습 : 행렬끼리의 덧셈하기. 2중 for문을 파이썬에서 처음 써봤다. 조금씩 파이썬이 익숙해지는 느낌이 든다(레벨1짜리 문제만 풀고 있으면서..)
def sumMatrix(A,B):
answer = []
for i in range(len(A)):
sumM = []
for j in range(len(A[0])):
sumM.append(A[i][j]+B[i][j])
answer.append(sumM)
return answer
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))
그리고 고수의 답을 봤는데..
???
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
return answer
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))
zip(*iterables) Make an iterator that aggregates elements from each of the iterables.
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True
Comments