我有一个字典列表:
[{'id': '1_2', 'iMaxSrc': 1}, {'id': '1_3', 'iMaxSrc': 0.5}, {'id': '3_5', 'iMaxSrc': 0.6}]
还有一本字典:
{'1_2': -0.006889606764994206, '1_3': -0.009956226776053036, '3_5': -0.009749068707461056}
我需要得到一个字典,其中的键将是第二个字典的键,值将是一个表达式value_dict2 / value_list_dict * 100
。此外,表达式的值应该取自列表中的这样一个字典,其中键值'id'
=第二个字典元素的键。
例如,列表中的第一个字典有一个键值id = '1_2'
,这意味着这个字典中的键值'iMaxSrc'
必须在'1_2'
第二个字典中的键值的表达式中。
我使用复杂的生成器解决了这个问题,如下所示:
{edge['id']: convert_kiloamps_to_percentage(edge['iMaxSrc'],current_edge_change[edge['id']]) for edge in edges}
其中函数 convert_kiloamps_to_percentage(edge['iMaxSrc'],current_edge_change[edge['id']]) 计算表达式。
生成器结果:
{'1_2': -0.6889606764994206, '1_3': -0.9956226776053037,'3_5': -0.9749068707461056}
问:我有没有奖励什么?有一个更好的方法吗?致美)