Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのmath.fsum()関数とは?構文と使い方を実例付きで解説

Pythonのfsum()関数は、指定した範囲(range)やイテラブル(反復可能オブジェクト)に含まれる数値の合計を計算するための関数です。この関数を使用するには、標準ライブラリであるmathモジュールのインポートが必要です。浮動小数点数の計算誤差を抑えて高精度な合計値を求められるため、数学的な処理全般で広く活用されています。

構文

fsum()関数の基本構文は以下のとおりです。

math.fsum( iterable )

引数には、rangeオブジェクト、配列、リストなどのイテラブルを指定できます。

戻り値

合計値が浮動小数点数(float型)として返されます。

以下では、範囲(range)に対してfsum()を使用する例と、リスト内の複数要素の合計を求める例を紹介します。

使用例

import math

# range を使った場合
print(math.fsum(range(12)))

# 整数のリスト
listA = [5, 12, 11]
print(math.fsum(listA))

# 浮動小数点数のリスト
listB = [9.35, 6.7, 3]
print(math.fsum(listB))

実行結果

上記のコードを実行すると、次のような出力が得られます。

66.0
28.0
19.05

fsum()とsum()の違い

組み込みのsum()関数でも合計を求めることはできますが、浮動小数点数を扱う場合には丸め誤差が蓄積し、正確な結果が得られないことがあります。math.fsum()は中間的な丸め誤差を最小限に抑えるアルゴリズムを採用しているため、特に小数を含む大量のデータを集計する際により信頼性の高い結果を得られます。

  1. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値

  2. Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

    この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print