如何有效地执行数学函数,如两个单独字典的平均值

2024-06-16 10:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

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}

所以想知道是否有一种更优化/有效的方法来实现这一点


Tags: 方法studentintalicetomsammybettydict1
1条回答
网友
1楼 · 发布于 2024-06-16 10:56:19

改为这样做:

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

这是一个字典理解,它通过key-valuedict1进行循环,并且对于这些key中的每一个,也从dict2获取相应的value。它将两者转换为int个eger并导出它们的平均值

请注意,使用的是.get(..)方法而不是dict2[k],该方法确保在dict2中缺少key但在dict1中存在时不会引发错误

相关问题 更多 >