origincount = {
'Bug': 0,
'Important': 0,
'User Story': 0,
'Critical': 0,
'Moderate': 0,
'Low': 0,
'story': 0
}
if epic['archived'] is False:
for story in stories:
if story['epic'] is not None and story['epic']['id'] == epic['id']:
counts = Counter(label['name'] for label in story['labels'])
origincount.update(counts)
当需要一起增加值时,我无法理解字典更新,而不仅仅是更新"。
从上面的示例中,当origincount.update(计数)发生时,它只是将值更改为计数中的值。在下一个看起来它做同样的事情。
问题是我需要通过计数来增加值,而不仅仅是替换它。
我尝试循环计数并执行if而不是0,然后添加执行origincount [' Bug'] =计算[' Bug'] + origincount [&#39 ;错误&#39]。但由于我自己的错误或者根本没有错误,这似乎失败了。
更新
for epic in epics:
origin = Counter({
'Bug': 0,
'Important': 0,
'User Story': 0,
'Critical': 0,
'Moderate': 0,
'Low': 0,
'story': 0
})
if epic['archived'] is False:
for story in stories:
if story['epic'] is not None and story['epic']['id'] == epic['id']:
# story_total += 1
counts = Counter(label['name'] for label in story['labels'])
print(counts)
origin = origin + counts
print(origin)
输出:
Counter({'Bug': 1, 'Important': 1})
Counter({'Critical': 1, 'Bug': 1})
Counter({'User Story': 1})
Counter({'Bug': 1})
Counter({'Bug': 1, 'Important': 1})
Counter({'Bug': 1, 'Important': 1})
Counter({'Critical': 1, 'Bug': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'Critical': 1, 'Bug': 1})
Counter({'Critical': 1, 'Bug': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'User Story': 1})
Counter({'Critical': 1, 'Bug': 1})
Counter({'Critical': 0, 'User Story': 0, 'Important': 0, 'story': 0, 'Low': 0, 'Bug': 0, 'Moderate': 0})
即使对原始字典进行计数器转换,它仍然无法将它们加起来。
答案 0 :(得分:0)
我认为这会有效,迭代原始帐户,每次检查是否在你的othercount中,如果是,则更新origincount值。
for key, value in origincount.items():
if key in othercount.keys():
origincount[key] = value + othercount[key]
答案 1 :(得分:0)
在循环的每次迭代中,您都会声明并初始化一个新的Counter对象。
我愿意打赌它会循环结束,然后在最后一次迭代中将origincounts归零。