どうも、ちょげ(@chogetarou)です。
2次元リスト(2d array)の合計値を取得する方法を紹介します。
方法

2次元リスト(2d array)の合計値を取得する方法は、4つあります。
sum() + map()
1つ目は、sum()とmap()を使う方法です。
まず、sum()を呼び出します。
sum()の引数でmap()を呼び出します。
map()の第1引数に「sum」、第2引数に対象のリストを指定します。
#my_list=対象のリスト
sum_value = sum(map(sum, my_list))
上記のsum()は、map()の第2引数に指定したリスト(List)の合計値を取得します。
使用例
numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum_value = sum(map(sum, numbers))
print(sum_value)
出力:
45
sum() + sum()
2つ目は、2つのsum()を使う方法です。
まず、sum()を呼び出します。
sum()の引数で、もう1つsum()を呼び出します。
もう1つの方のsum()の第1引数に対象のリスト、第2引数に「[]」を指定します。
#my_list=対象のリスト
sum_value = sum(sum(my_list, []))
上記のsum()は、対象のリスト(List)の合計値を取得します。
使用例
numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum_value = sum(sum(numbers, []))
print(sum_value)
出力:
45
sum() + 内包表記
3つ目は、sum()と内包表記を使う方法です。
まず、sum()を呼び出します。
sum()の引数でリストの内包表記を記述します。
内包表記のループ処理で、引数に対象のリストの要素を指定したsum()を呼び出します。
#my_list=対象のリスト
sum_value = sum(sum(x) for x in my_list)
上記のsum()は、対象のリスト(List)の合計値を取得します。
使用例
numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum_value = sum(sum(x) for x in numbers)
print(sum_value)
出力:
45
numpy
4つ目は、numpyを使う方法です。
まず、numpyをインポートします。
import numpy
次に、numpy.sum()を呼び出します。
numpy.sum()の引数に対象の2次元リストを指定します。
#my_list=対象のリスト
sum_value = numpy.sum(my_list)
上記のnumpy.sum()は、引数のリスト(List)の合計値を取得します。
使用例
import numpy as np
numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum_value = np.sum(numbers)
print(sum_value)
出力:
45
まとめ
2次元リスト(2d array)の合計値を取得する方法は、次の4つです。
- sum()とmap()を使う方法
sum_value = sum(map(sum, my_list))
- 2つのsum()を使う方法
sum_value = sum(sum(my_list, []))
- 内包表記を使う方法
sum_value = sum(sum(x) for x in my_list)
- numpuを使う方法
sum_value = numpy.sum(my_list)
コメント