이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 두 개의 행렬이 주어졌으므로 곱하고 결과를 출력해야 합니다.
두 행렬을 곱하려면 첫 번째 행렬의 열이 두 번째 행렬의 행과 같아야 합니다.
이 조건이 참으로 평가될 때마다 계산이 수행됩니다.
이제 아래 구현에서 개념을 살펴보겠습니다-
접근법 1 - 무차별 대입 방식
예시
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9] ] B = [[5, 3, 3], [6, 5, 4], [0, 2, 0] ] result= [[0, 0, 0], [0, 0, 0], [0, 0, 0] ] # iterating by row for i in range(len(A)): # iterating by column for j in range(len(B[0])): # iterating by rows for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] for ele in result: print(ele)
출력
[17, 19, 11] [50, 49, 32] [83, 79, 53]
접근법 2 - zip 기능 사용
예시
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9] ] B = [[5, 3, 3], [6, 5, 4], [0, 2, 0] ] # using built-in zip function result = [[sum(a * b for a, b in zip(A_row, B_col)) for B_col in zip(*B)] for A_row in A] for ele in result: print(ele)
출력
[17, 19, 11] [50, 49, 32] [83, 79, 53]
결론
이 기사에서는 두 행렬을 곱하는 방법을 배웠습니다.