一次更新的词典列表

时间:2017-01-10 14:57:54

标签: python list dictionary

当我尝试为存储在词典列表中的特定词典分配值时,我遇到了一个问题,该列表中的每个词典都会更新。我试图逐年跟踪项目完成步骤,使用列表的索引作为项目年份(除了0 =年1等)

列表创建如下:

results = [{'status':{'reports': False, 'collection': False, 'workshops':False}, 'dates':{'reports':'', 'collection':'','workshops':''}}] * years

其中年份是传递给该职能的项目年数。

我最终迭代了里程碑字典,寻找完成里程碑,如下所示:

for milestone in data:
    if data['name'] == 'report completion':
        if data['completed'] == True:
            year = determineYear(x, y) #Pass some info from the milestone to determine which year of the project
            results[year]['status']['reports'] = True
            results[year]['dates']['reports'] = data['date']

缩进没有正确完成,但我认为你得到了要点。

一切似乎都能正常运作。 index(year)正在正确计算,没有额外的循环或任何内容,但列表最终看起来像这样:

[{'status': {'collection': False, 'workshops': False, 'reports': True}, 'dates': {'collection': '', 'workshops': '', 'reports': '03/10/2016'}}, 
{'status': {'collection': False, 'workshops': False, 'reports': True}, 'dates': {'collection': '', 'workshops': '', 'reports': '03/10/2016'}}, 
{'status': {'collection': False, 'workshops': False, 'reports': True}, 'dates': {'collection': '', 'workshops': '', 'reports': '03/10/2016'}}]

因此数据存储在列表中的每个字典中。这是我第一次尝试这样的设置,所以我可能会遗漏一些东西。

0 个答案:

没有答案