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

Pythonで辞書内のすべての値を乗算する方法

辞書内のすべての要素(値)を乗算したい場合は、辞書のキーを順番に走査しながら、各値をそれまでの積に掛けていくことで求めることができます。最終的に得られた値が出力となります。

なお、辞書とはキーと値のペアから構成されるデータ構造のことです。

サンプルコード

以下に具体的な実装例を示します。

my_dict = {'Jane':99,'Will':54,'Mark':-3}
my_result = 2
for key in my_dict:
    my_result = my_result * my_dict[key]
print("辞書内の値を乗算した結果は : ")
print(my_result)

実行結果

辞書内の値を乗算した結果は :
-32076

コードの解説

  • まず、複数のキーと値を持つ辞書を定義します。
  • 次に、積を格納するための変数に初期値を代入します。
  • forループによって、辞書の各キーを順番に取り出します。
  • 各ステップで、キーに対応する値を変数の現在の値と掛け合わせます。
  • 計算結果は同じ変数に再代入され、更新されていきます。
  • ループが完了した時点での変数の値が、コンソールに出力されます。

別の方法:math.prodを使う

Python 3.8以降では、標準ライブラリのmath.prod関数を使用することで、より簡潔に記述できます。

import math

my_dict = {'Jane':99,'Will':54,'Mark':-3}
my_result = math.prod(my_dict.values())
print(my_result)  # -32076

my_dict.values()で辞書のすべての値を取得し、math.prodに渡すことで一括して積を計算できます。ループを自分で書く必要がないため、コードの可読性が向上します。

  1. Pythonで木構造グラフにおける都市の最大人口を求めるプログラム

    国をN個のノードとN-1本の辺からなる木構造として表現することを考えます。各ノードは町を表し、各辺は道路を表します。サイズN-1のリストsourceとdestが与えられ、i番目の道路はsource[i]とdest[i]を双方向に結んでいます。また、サイズNのリストpopulationも与えられ、population[i]はi番目の町の人口を表します。 ここで、いくつかの町を「都市」へアップグレードすることを考えます。ただし、以下の条件を満たす必要があります。 2つの都市が互いに隣接してはならない 町に隣接するすべてのノードは都市でなければならない(すべての道路は必ず町と都市をつなぐ) こ

  2. Pythonで辞書(dict)のすべてのキーを取得・表示する方法

    Pythonでは、辞書(dict)オブジェクトが持つ keys() メソッドを使うことで、すべてのキーを簡単に取得できます。このメソッドは辞書内の全キーを含むビューオブジェクト(dict_keys)を返します。 keys() メソッドでキーを取得する まずは基本的な使い方を見てみましょう。次の例では、3つのキーと値を持つ辞書から、すべてのキーを取り出しています。 >>> D1 = {1:a, 2:b, 3:c} >>> D1.keys() dict_keys([1, 2, 3]) >>> list(D1.keys()) [1, 2, 3]