有这个问题,不确定要说什么。它需要我说更多帖子,但我不知道该说些什么。不知道该怎么做。
dict1 = {'a':1,'b':2,'c':3}
dict2 = {'a':2,'b':3,'c':4}
dict3 = {'a':4,'b':3,'c':2}
dict4 = {'list1':{},'list2':{},'list3':{}}
dict4['list1'] = list1
dict4['list2'] = list2
dict4['list3'] = list3
for k,v in sorted(list4.items()):
print (k + ":")
for k2,v2 in sorted(v.items()):
print ("\t" + k2 + "," + str(v2) + "\n")
它像这样输出
dict1:
a,1
b,2
c,3
dict2:
a,2
b,3
c,4
dict3:
a,4
b,3
c,2
我希望它看起来像这样
dict5:
a,7
b,8
c,9
答案 0 :(得分:2)
在python3中,您可以使用字典理解:
list5 = {k:sum(d[k] for d in (list1,list2,list3)) for k in ('a','b','c')}
然后它将使用您已编写的代码:
print('list5:')
for k,v in sorted(list5.items()):
print ("\t" + k + "," + str(v) + "\n")
另外,您可能不应该将名称“list5”赋予字典...
答案 1 :(得分:-1)
集合包中的计数器对象的设计部分是为了将计数字典添加到一起。这是使用它们的教程的链接。
https://pymotw.com/2/collections/counter.html
例如(原始帖子定义的dict1..3)
from collections import Counter
c1 = Counter(dict1)
c2 = Counter(dict2)
c3 = Counter(dict3)
c4 = c1 + c2 + c3
# c4 can now be accessed as a dict, and
# has the desired values