Programmers符号化Quiz#14マトリクスの加算


問題の説明


行列の加算は、2つの同じ行列の同じ行、同じ列の値を加算した結果です.2つのマトリクスarr 1とarr 2を入力し、マトリクス加算結果の関数を返し、解を完了します.

せいげんじょうけん

  • 行列arr 1、arr 2の行および列の長さは500を超えない.
  • I/O例


    arr1arr2return[[1,2],[2,3]][[3,4],[5,6]][[4,6],[7,9]][[1],[2]][[3],[4]][[4],[6]]

    に答える

    def solution(arr1, arr2):
        result = []
        for x, y in zip(arr1, arr2):
            new = [z+k for z,k in zip(x, y)]
            result.append(new)
        return result
    同じ長さのリストでは,配列の演算はZIPほど簡単ではない.
    二重リストでも、最終的にはリストごとに演算されます.zipを使用してリストを作成し、zipを使用してリストを再作成し、最終的な空の配列に繰り返し挿入すると、問題のあるマトリクスの加算が完了します.
    def solution(arr1,arr2):
        return [[z + k for z, k in zip(x, y)] for x, y in zip(arr1,arr2)]
    このように1行でも整理できます

    別の解釈

    import numpy
    
    def solution(arr1, arr2):
        arr1 = numpy.array(arr1)
        arr2 = numpy.array(arr2)
        answer = arr1 + arr2
        return answer.tolist()
    行列の相関演算はPythonにnumpyという強力なライブラリがある.これにより、整数の増減のように結果値を簡単にエクスポートできます.
    numpy既存の配列(list).arrayに変換して演算し、リストに変換します.