我有一个字典列表,具有不同的键和值,我想对值进行汇总,字典的结构如下:
结构:
for dic in doc_complete_views:
for val in dic.values():
print(val)
产量:
{'Algorithmic_bias': 4462}
{'Algorithmic_bias': 2391}
{'Algorithmic_bias': None}
{'Algorithmic_bias': 3167}
{'Algorithmic_efficiency': 7172}
{'Algorithmic_efficiency': 6271}
{'Algorithmic_efficiency': 8612}
{'Algorithmic_efficiency': 8277}
{'Algorithmic_efficiency': 6467}
{'Algorithmic_efficiency': 7070}
预期输出:
{'Algorithmic_bias': 10020}
{'Algorithmic_efficiency': 43869}
使用的代码:
count={}
final_count = {}
for index in range(len(doc_complete_views)):
for a,b in doc_complete_views[index].items():
for i,j in b.items():
try:
count[i] += j
except KeyError:
count[i] = j
final_count[index] = count
# print the final array
print(final_count)
问题:
上述代码由于值无而失败
问题:
当我遍历字典列表(打印结构的地方)时,是否有一种方法可以对这些值求和而忽略None?
词典列表的结构:
defaultdict(<class 'dict'>,{datetime.datetime(2018,11,1,0): {'Algorithmic_bias': 3306},datetime.datetime(2017,7,0): {'Algorithmic_bias': None},5,0): {'Algorithmic_bias': 1843},datetime.datetime(2019,0): {'Algorithmic_bias': 3237},2,datetime.datetime(2018,8,0): {'Algorithmic_bias': 2837},3,0): {'Algorithmic_bias': 1950},0): {'Algorithmic_bias': 3816},