[Python]2次元リストの合計値を取得するには?

python

どうも、ちょげ(@chogetarou)です。

2次元リスト(2d array)の合計値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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)

コメント

タイトルとURLをコピーしました