解決済み: Python で 2 次元配列を合計する

Python での 2D 配列の合計に関する主な問題は、そのための構文が非常に複雑で理解しにくいことです。 これは、配列の形状と必要な合計のタイプに応じて、2D 配列を合計する方法が複数あるためです。 たとえば、2D 配列のすべての要素を合計する場合は、ネストされた for ループを使用する必要があります。 2D 配列の特定の要素だけを合計したい場合は、リスト内包表記またはその他のより高度な手法を使用する必要があります。 さらに、2D 配列は 1D 配列よりも複雑であるため、XNUMXD 配列で作業する場合、エラーをデバッグするのが難しい場合があります。

def sum_2d_array(arr): 
    result = 0
  
    # iterate through rows 
    for i in range(0, len(arr)): 
  
        # iterate through columns 
        for j in range(0, len(arr[i])): 
            result += arr[i][j] 

    return result

# このコードは、引数として配列を受け取る sum_2d_array という関数を定義します。
# 結果変数は 0 に初期化されます。
# for ループを使用して配列の行を反復処理し、ネストされた for ループを使用して各行の列を反復処理します。
# 配列内の各要素について、その値が結果変数に追加されます。
# 最後に、関数は配列内のすべての要素の合計を返します。

配列とは

?

Python の配列は、アイテムのコレクションを格納するデータ構造です。 これはリストに似ていますが、配列に格納されている項目は通常同じ型であり、数値インデックスを使用してアクセスされます。 配列は、数値、文字列、オブジェクト、およびその他のデータ型を格納するために使用できます。 また、大規模なデータ セットに対して数学演算を実行する場合にも役立ちます。

Python の配列とリスト

Array と List はどちらも、データのコレクションを格納するために使用される Python のデータ構造です。 配列は同じタイプのアイテムを格納するデータ構造ですが、リストは異なるタイプのアイテムを格納できるより柔軟なデータ構造です。

配列は、リストよりもデータの保存とアクセスが高速で効率的ですが、すべての要素が同じ型でなければならないため、柔軟性が制限されます。 一方、リストにはさまざまなタイプの要素を含めることができますが、配列よりも多くのメモリを消費し、アクセスが遅くなります。

Python で 2 次元配列を合計する方法

Python で 2 次元配列を合計するには、組み込みの sum() 関数を使用できます。 この構文は次のとおりです。

sum(配列、軸=なし)

ここで、array は合計する 2 次元配列であり、axis は合計する配列の軸を指定するオプションの引数です。 axis に値が指定されていない場合、配列のすべての要素が合計されます。

たとえば、2 行 3 列の my_array という 4 次元配列があるとします。

[[1,2,3,4],
[5,6,7,8]
【9,10,11,12]

次のコードを使用して、my_array のすべての要素を合計できます。

合計 = 合計 (my_array) #合計 = 78

または、次のコードを使用して、my_array の各行を合計できます。

row_sums = sum(my_array ,axis=1) #row_sums = [10 26 42]

関連記事:

コメント