[解決済み] Pythonに組み込みのproduct()はありますか?[重複しています]。
2022-03-04 01:19:57
質問
チュートリアルや本に目を通しましたが、組み込みの積関数、つまりsum()と同じタイプの関数についての言及は見つかりませんでしたが、次のようなものは見つかりました。
prod()
.
をインポートして、リスト内のアイテムのプロダクトを見つけるしかないのでしょうか?
mul()
演算子を使うことができますか?
どのように解決するのですか?
発音について
はい、その通りです。 グイドー 却下 は、ほとんど必要ないと考えていたからです。
Python 3.8 アップデート
Python 3.8では。 prod() が math モジュールに追加されました。
>>> from math import prod
>>> prod(range(1, 11))
3628800
reduce()を使った代替案
ご指摘のように reduce() と 演算子.mul() :
def prod(iterable):
return reduce(operator.mul, iterable, 1)
>>> prod(range(1, 5))
24
Python 3 では reduce() 関数に移動しました。 functools モジュール を追加する必要があります。
from functools import reduce
具体的な事例 階乗
余談ですが、このプロジェクトの主な動機となるユースケースは prod() は階乗を計算することです。 そのためのサポートはすでに mathモジュール :
>>> import math
>>> math.factorial(10)
3628800
対数による代替
データが浮動小数点数で構成されている場合、以下の方法で積を計算することができます。 sum() を指数と対数で表示します。
>>> from math import log, exp
>>> data = [1.2, 1.5, 2.5, 0.9, 14.2, 3.8]
>>> exp(sum(map(log, data)))
218.53799999999993
>>> 1.2 * 1.5 * 2.5 * 0.9 * 14.2 * 3.8
218.53799999999998
関連
-
python string splicing.join()とsplitting.split()の説明
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] リスト内包とラムダ+フィルタの比較
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】sum()のような関数で掛け算のものは? product()は?)