[Python]配列の指定した範囲の合計値を取得するには?

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

配列(array)の指定した範囲の合計値を取得する方法を紹介します。

スポンサーリンク

リストの場合

リストの指定した範囲の合計値を取得するには、sum関数とスライスを使います。

まず、sum関数を呼び出します。

そして、sum関数の引数に範囲でスライスしたリストを指定します。

#ls=対象のリスト, start=範囲の最初の位置, end=範囲の最後の位置
sum(ls[start:end]) #startからendまでの範囲(endは含まない)

上記のsum関数は、スライスで指定した範囲の合計値を返します。

「ls[start:end]」の「end」まで含めたい場合は、「end」に「+1」します。

sum(ls[start:end + 1]) #endを含める

使用例

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

#インデックス「2」からインデックス「8」までの範囲(8を含まない)
nums_sum = sum(numbers[2:8])

print(nums_sum) #33

Numpy配列の場合

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

Numpy配列(ndarray)の指定した範囲の合計値を取得するには、numpy.sum()とスライスを使います。

まず、numpy.sum()を呼び出します。

そして、numpy.sum()の引数に、Numpy配列(ndarray)を範囲でスライスした結果を指定します。

#arr=対象のNumpy配列, start=範囲の最初の位置, end=範囲の最後の位置
np.sum(arr[start:end]) #startからendまでの範囲(endは含まない)の合計値

上記のnumpy.sum()は、スライスで指定した範囲の合計値を返します。

「arr[start:end]」の「end」まで含めたい場合は、「end」に「+1」します。

np.sum(arr[start:end + 1]) #endを含める

使用例

import numpy as np

nums = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

result = np.sum(nums[3:7])

print(result)
出力:
22

まとめ

リスト(List)の指定した範囲の合計値を取得する方法は、sum()とスライスを使います。

sum(ls[start:end]) #startからendまでの範囲(endは含まない)

Numpy配列の指定した範囲の合計値を取得するには、numpy.sum()とスライスを使います。

np.sum(arr[start:end + 1]) #endを含める

コメント

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