我有两个字典。
一种包含不同的产品,每种都有不同的需求。
另一个包含多个天内的时间需求分布值。

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

样本数据(实际数据要大得多):

 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}


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

我知道发布没有示例代码的问题很不好,但是我不知道如何实现。

最佳答案

使用double 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/

10-12 22:20