パイソン |リスト内のすべての数値を乗算します
与えられたリストで、すべての数値を乗算した後に得られる値を出力します。 パイソン リスト。
例:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24
Python でリスト内のすべての数値を乗算する
リスト内で乗算を実行するには複数の方法があります。これに関連して、以下に概説するように、Python で乗算する一般的に使用される方法を利用します。
- トラバーサルの使用
- 使用する numpy.prod()
- ラムダ関数の使用
- 使用する 数学図書館
- 使用する 私は持っている() 関数
- インデックスによるトラバースの使用
- 使用する forループ
- 使用する itertools.accumulate()
- 再帰関数の使用
リスト内のすべての数値を次のように乗算します。 トラバーサル
積の値を 1 に初期化します (0 に何かを掛けるとゼロが返されるため、0 ではありません)。リストの最後まで調べて、すべての数値に積を掛けます。最後に製品に保存された値が最終的な答えになります。
例 : この例では、以下のコードは関数 ` でトラバーサル アプローチを使用しています。 乗算リスト ` リスト `[1, 2, 3]` と `[3, 2, 4]` の要素の積を計算し、それぞれ 6 と 24 の出力が得られます。
パイソン
# Python program to multiply all values in the> # list using traversal> def> multiplyList(myList):> > # Multiply elements one by one> > result> => 1> > for> x> in> myList:> > result> => result> *> x> > return> result> # Driver code> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> print> (multiplyList(list1))> print> (multiplyList(list2))> |
出力:
6 24
時間計算量: O(n)。n はリスト内の要素の数です。
補助スペース: ○(1)、
リスト内のすべての数値を乗算します u その numpy.prod()
使用できます numpy.prod() from import numpy を使用して、リスト内のすべての数値の乗算を取得します。乗算結果に応じて、整数値または浮動小数点値を返します。
例 : この例では、以下のコードは `numpy.prod()` を使用してリスト `[1, 2, 3]` と `[3, 2, 4]` 内の要素の積を検索し、結果として 6 と 24 が出力されます。それぞれ。
Python3
# Python3 program to multiply all values in the> # list using numpy.prod()> import> numpy> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> # using numpy.prod() to get the multiplications> result1> => numpy.prod(list1)> result2> => numpy.prod(list2)> print> (result1)> print> (result2)> |
出力:
6 24
時間計算量: O(n)。n は入力リストの長さです。
補助スペース: ○(1)。
リスト内のすべての数値を乗算します u ラムダ関数を歌う
ラムダ' の定義には 戻る ステートメントには、返される式が必ず含まれます。また、ラムダ定義を関数が必要な場所に置くこともでき、それを変数に割り当てる必要はまったくありません。これがラムダ関数のシンプルさです。の 減らす() Python の function は引数として関数とリストを受け取ります。この関数は、ラムダ関数、リスト、および n を使用して呼び出されます。 新しい縮小結果が返される 。これにより、リストのペアに対して反復操作が実行されます。
例 : この例では、以下のコードは Python の `functools.reduce` とラムダ関数を使用して、リスト `[1, 2, 3]` と `[3, 2, 4]` 内のすべての値を乗算します。結果 6 と 24 が出力されます。
Python3
# Python3 program to multiply all values in the> # list using lambda function and reduce()> from> functools> import> reduce> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> result1> => reduce> ((> lambda> x, y: x> *> y), list1)> result2> => reduce> ((> lambda> x, y: x> *> y), list2)> print> (result1)> print> (result2)> |
出力:
6 24
時間計算量: O(n) – ここで、n は長いリストの長さです。
補助スペース: O(1) – 余分なデータ構造が作成されないため、使用されるメモリは一定です。
リスト内のすべての数値を乗算します u 数学ライブラリの prod 関数を歌う
Python 3.8 以降、prod 関数が 数学モジュール 標準ライブラリに組み込まれているため、外部ライブラリをインストールする必要はありません。
例 : この例では、以下のコードは Python の `math.prod` 関数を利用して、リスト `[1, 2, 3]` と `[3, 2, 4]` 内のすべての値の積を計算します。結果 6 と 24 が出力されます。
Python3
# Python3 program to multiply all values in the> # list using math.prod> import> math> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> result1> => math.prod(list1)> result2> => math.prod(list2)> print> (result1)> print> (result2)> |
出力:
6 24
時間計算量 : O(n)。n は入力リストの長さです。
補助スペース: ○(1)
リスト内のすべての数値を乗算します u 演算子モジュールの mul() 関数を実行します。
まず演算子モジュールをインポートしてから、 mul()関数 リスト内のすべての値を乗算する演算子モジュールの。この例では、以下のコードは、`operator` モジュールの `mul` 関数を使用して、リスト `[1, 2, 3]` 内のすべての数値を乗算します。リストを反復処理して結果変数を更新し、最終的な結果を出力します (出力: 6)。
Python3
# Python 3 program to multiply all numbers in> # the given list by importing operator module> from> operator> import> *> list1> => [> 1> ,> 2> ,> 3> ]> m> => 1> for> i> in> list1:> > # multiplying all elements in the given list> > # using mul function of operator module> > m> => mul(i, m)> # printing the result> print> (m)> |
出力:
6
時間計算量: の上)、 ここで、n は入力リストの長さです。 補助スペース: ○(1)、 それは一定です。
For ループを使用してリスト内のすべての数値を乗算します。
を使用してリスト内のすべての数値を乗算するには、 For ループ を使用すると、リストの各要素を反復処理して、実行中の製品変数を更新できます。
例 :この例では、 multiply_list> 関数はリストを入力として受け取り、変数を初期化します product> 次に、リスト内の各要素を反復処理し、現在の要素と乗算して積を更新します。
Python3
def> multiply_list(list1):> > # Initialize product to 1> > product> => 1> > > # Iterate through each element in the list> > for> element> in> list1:> > product> *> => element> > > return> product> # Example> list1> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]> result> => multiply_list(list1)> print> (result)> |
出力:
120
時間計算量 : O(n)。n は入力リストの長さです。
補助スペース :お(1)。
リスト内のすべての数値を乗算します インデックスによるトラバースの使用
この例では、以下のコードは、トラバーサル アプローチを使用してリスト要素の積を見つける関数 `multiplyList` を定義します。リスト内の各要素を順番に乗算します。リスト `[1, 2, 3]` と `[3, 2, 4]` を使用したデモでは、それぞれ 6 と 24 の出力が得られます。
Python3
# Python program to multiply all values in the> # list using traversal> def> multiplyList(myList) :> > > # Multiply elements one by one> > result> => 1> > for> i> in> range> (> 0> ,> len> (myList)):> > result> => result> *> myList[i]> > return> result> > # Driver code> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> print> (multiplyList(list1))> print> (multiplyList(list2))> |
出力:
6 24
時間計算量 : O(n)。n は入力リストの長さです。 補助スペース :お(1)。
リスト内のすべての数値を乗算します u itertools.accumulate を歌う
の `itertools.accumulate ` 関数は、反復可能な累積演算に使用されます。この場合、リスト内の要素の積が累積されます。ラムダ関数 `(lambda x, y: x * y)` は乗算演算を定義し、最終結果は累積値から取得されます。
例 : この例では、以下のコードはラムダ関数で `itertools.accumulate` を利用し、リスト `[1, 2, 3]` と `[3, 2, 4]` の値を乗算します。蓄積された結果はリストに変換され、最後の要素が出力されます (出力: 6 と 24)。
パイソン
# Python3 program to multiply all values in the> # list using lambda function and accumulate()> from> itertools> import> accumulate> list1> => [> 1> ,> 2> ,> 3> ]> list2> => [> 3> ,> 2> ,> 4> ]> result1> => list> (accumulate(list1, (> lambda> x, y: x> *> y)))> result2> => list> (accumulate(list2, (> lambda> x, y: x> *> y)))> print> (result1[> -> 1> ])> print> (result2[> -> 1> ])> |
出力:
6 24
時間計算量 : O(n)。n は入力リストの長さです。 補助スペース: の上)
再帰関数を使用してリスト内のすべての数値を乗算します。
関数 product_ 再帰的() は、数値のリストを入力として受け取り、再帰的アプローチを使用して、リスト内のすべての数値の積を返します。
例 : この例では、以下のコードはリストの要素の積を計算するための再帰関数 `product_recursive` を定義しています。基本ケースと再帰ケースを処理し、リスト `[1, 2, 3]` と `[3, 2, 4]` を使用して機能を示し、それぞれ 6 と 24 の出力が得られます。
Python3
def> product_recursive(numbers):> > # base case: list is empty> > if> not> numbers:> > return> 1> > # recursive case: multiply first element by product of the rest of the list> > return> numbers[> 0> ]> *> product_recursive(numbers[> 1> :])> list1> => [> 1> ,> 2> ,> 3> ]> product> => product_recursive(list1)> print> (product)> # Output: 6> list2> => [> 3> ,> 2> ,> 4> ]> product> => product_recursive(list2)> print> (product)> # Output: 24> |
出力:
6 24
時間計算量 : O(n)。n はリスト内の要素の数です。
空間の複雑さ :の上)
reduce() と mul() 関数を使用して、リスト内のすべての数値を乗算します。
この問題を解決する 1 つのアプローチは、組み込みの reduce()関数 functools モジュールから。累積的に関数を反復可能に適用できます。 Operator.mul() 関数を使用して要素を乗算できます。
例 : この例では、以下のコードは `functools.reduce` と `operator.mul` を利用してリスト [1, 2, 3] 内の要素を乗算し、累積積 (出力: 6) を出力します。これは、簡潔な累積演算に対する「reduce」関数の有効性を示しています。
Python3
from> functools> import> reduce> from> operator> import> mul> list1> => [> 1> ,> 2> ,> 3> ]> result> => reduce> (mul, list1)> print> (result)> |
出力:
6
時間計算量 : の上)
補助スペース: ○(1)