如何有效地执行数学函数,例如 2 个独立字典的值的平均值


dict1 = {'Sammy Student': '65', 'Betty Student1': '45', 'Alice Student2': '100', 'tom Student3': '50', 'Varun Student4': '90'}
dict2 = {'Sammy Student': '85', 'Betty Student1': '65', 'Alice Student2': '90', 'tom Student3': '60', 'Varun Student4': '100'}

目前我这样做是这样的:

dict3 = {'Sammy Student' , (int(dict1['Sammy Student']) + int(dict2['Sammy Student']))/2}

所以想知道是否有更优化/有效的方法来做到这一点?

改为这样做:

dict3 = {k: (int(v) + int(dict2.get(k, '0')))/2 for k, v in dict1.items()}

这是一个字典理解,它遍历key-valuedict1,对于这些key中的每一个,也从dict2获取相应的value。它将两者转换为integers 并得出它们的平均值。

请注意使用.get(..)方法代替dict2[k],以确保如果dict2中缺少key但存在于dict1中,则不会引发错误。

最新更新