Pythonでは、二次元配列(リスト)の各要素の合計を求める方法がいくつかあります。以下にその方法を紹介します。
行の合計
Pythonの組み込み関数sum
とmap
を使うと、二次元配列の各行の合計を求めることができます。
l = [[1, 0, 1], [1, 1, 1], [0, 0, 1]]
rowsSum = map(sum, l)
print(next(rowsSum)) # 出力: 2
print(next(rowsSum)) # 出力: 3
print(next(rowsSum)) # 出力: 1
また、ジェネレータ式を使う方法もあります。
l = [[1, 0, 1], [1, 1, 1], [0, 0, 1]]
rowsSum = (sum(row) for row in l)
print(next(rowsSum)) # 出力: 2
print(next(rowsSum)) # 出力: 3
print(next(rowsSum)) # 出力: 1
列の合計
列の合計を求めるには、リスト内包表記を使う方法があります。
l = [[1, 0, 1], [1, 1, 1], [0, 0, 1]]
columnsSum = [sum(column) for column in zip(*l)]
print(columnsSum) # 出力: [2, 1, 3]
また、map
を使う方法もあります。
l = [[1, 0, 1], [1, 1, 1], [0, 0, 1]]
columnsSum = map(sum, zip(*l))
print(next(columnsSum)) # 出力: 2
print(next(columnsSum)) # 出力: 1
print(next(columnsSum)) # 出力: 3
全要素の合計
全要素の合計を求めるには、行の合計に対してsum
関数を使用することで、全要素の合計が求められます。
l = [[1, 0, 1], [1, 1, 1], [0, 0, 1]]
allSum1 = sum(map(sum, l))
print(allSum1) # 出力: 6
allSum2 = sum(sum(row) for row in l)
print(allSum2) # 出力: 6
以上、Pythonで二次元配列の各要素の合計を求める方法を紹介しました。これらの方法を理解し、適切な場面で使えるようになると、Pythonでのデータ処理がより効率的になります。