添加不同字典的键值并将其存储在另一个字典中

Add key-value of different dictionaries and store it another dictionary

我有这样的东西

stud_1 = {'stud_2' : 1, 'stud_3' : 3, 'stud_4' : 2,'stud_5' : 5,'stud_6' : 1,'stud_7' : 3,'stud_8' : 4,'stud_9' : 3}
stud_2 = {'stud_1' : 3, 'stud_3' : 2, 'stud_4' : 4,'stud_5' : 2,'stud_6' : 1,'stud_7' : 5,'stud_8' : 1,'stud_9' : 2}
stud_3 = {'stud_1' : 1, 'stud_2' : 5, 'stud_4' : 3,'stud_5' : 5,'stud_6' : 5,'stud_7' : 2,'stud_8' : 3,'stud_9' : 5}
stud_4 = {'stud_1' : 4, 'stud_2' : 3, 'stud_3' : 2,'stud_5' : 1,'stud_6' : 5,'stud_7' : 3,'stud_8' : 1,'stud_9' : 4}
.....
.....

依此类推,直到 stud_9。这些值是每个学生获得的五分之一的分数

我想将键值相加并存储在另一个字典中。 就像在 stud_1 本身以外的字典中添加键 stud_1 的值,然后将其存储在键为 stud_1.

的新字典中

我该怎么做?

编辑

如果我这里只考虑这4本词典的话,最终的词典应该是

final_dict = {'stud_1' : 9 , 'stud_2' : 9 , 'stud_3' : 7, 'stud_4' : 9 ....}  ## and so on according to the key value

使用 dictionary.iteritems() 遍历每个字典并将它们附加到第一个字典。

for k,v in dict.iteritems():
    dict2[k] = v

或者您可以使用 dictionary.update():

dict1.update(dict2)

您可以为此使用 collections.Counter,然后将每个字典更新到该计数器中。例子-

from collections import Counter
s1c = Counter(stud_1)
s1c.update(stud_2)
s1c.update(stud_3)
.
.
.

Counter 是 dict 的子类,因此您以后可以将 s1c 用作简单的字典。

当您更新 Counter 时,值是从传入的 dictionary/Counter 添加的,而不是覆盖。