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
-value
对dict1
,对于这些key
中的每一个,也从dict2
获取相应的value
。它将两者转换为int
egers 并得出它们的平均值。
请注意使用.get(..)
方法代替dict2[k]
,以确保如果dict2
中缺少key
但存在于dict1
中,则不会引发错误。