python - 将两个字典的值相乘,同时在 Python 中附加键

标签 python dictionary

我有两本词典。 其中包含不同的产品以及对它们的每种需求。 另一个包含多天的时间需求分布值。

我需要附加两个字典的键,并将需求乘以时间需求分布。

示例数据(实际数据要大得多):

 dict = {'S-NSW-BAC-ENG': 15, 'S-NSW-BAC-FBE': 30}

 temporal_demand_distibution = {-60: 0.001187, -59: 0.001354}

预期的输出类似于:

resulting_dict = {'S-NSW-BAC-ENG:-60': 0.001187*15, 'S-NSW-BAC-ENG:-59': 0.001354*15, 'S-NSW-BAC-FBE:-60': 30*0.001187, 'S-NSW-BAC-FBE:-59': 30*0.001354}

这些值显然是乘法的结果,而不是乘法本身。

我知道在没有示例代码的情况下发布问题是不好的,但我不知道如何实现这一点。

最佳答案

使用双 for 循环并组合键和值:

from pprint import pprint

dict = {'S-NSW-BAC-ENG': 15, 'S-NSW-BAC-FBE': 30}
temporal_demand_distribution = {-60: 0.001187, -59: 0.001354}

result_dict = {}
for key, value in dict.items():
  for key2, value2 in temporal_demand_distribution.items():
    result_dict["{}:{}".format(key, key2)] = value * value2

pprint(result_dict)
{'S-NSW-BAC-ENG:-59': 0.020309999999999998,
 'S-NSW-BAC-ENG:-60': 0.017804999999999998,
 'S-NSW-BAC-FBE:-59': 0.040619999999999996,
 'S-NSW-BAC-FBE:-60': 0.035609999999999996}

关于python - 将两个字典的值相乘,同时在 Python 中附加键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30633788/

相关文章:

python - 使用 try...except 与 key in dict 检索字典项目的速度?

python - pandas.Series operator/= 在 Python 2 和 Python 3 中的不同行为

python - 将多个数据帧附加到一个数据帧中 - Pandas

json - 在 Dart 中将 Map 的所有键和值转换为 String

java - 当异常发生时如何运行迭代

Java数据结构允许对象上的 boolean 标志和排序?

python - 如何将 sudo 与 curl 命令一起用于 setuptools 安装

c++ - 如何使用随机键值创建 std::map

python - 数字的递归数字和,是否有更好的方法来编写这个函数?

python - 使用 3d 数据和参数在 Scipy 中进行曲线拟合