与えられたリストで、すべての数値を乗算した後に得られる値を出力します。 パイソン リスト。
例:
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)