如何更新一个在列表中保存其值的字典键?

问题描述 投票:0回答:1

我需要更新一个基于列表的字典键,而不删除以前的列表项。然而,从解决方案中,我发现在谷歌上,他们更新的值被完全取代。我想仍然保持以前的列表项目。我有一个python字典,存储项目阶段的完成百分比。我希望更新完成的百分比,直到整个阶段是100%完成。这是我的字典定义。

fiber_project = {"phase1":[10, 20,40,50], "phase2":[23, 39,90, 100],
                 "phase3":[30, 40,70, 100]}

我是这样更新的

#updating the phase2
fiber_project["phase2"] =[100]

以下是输出enter image description here

python list dictionary
1个回答
1
投票

这种数据结构非常有用,python有一个构造它的巧妙技巧,当你要在某个键的值中添加一个项目,但还不知道这个键是否在字典中。天真地,你会写(就像我最初做的那样)。

if key not in d:
     d[key] = []
d[key].append(val)

这段代码用了3行,并通过键对字典进行了2到3次访问。你可以将访问次数限制为硬性的2,但代价是多出一行代码,使用。

if key in d:
    d[key].append(val)
else:
    d[key] = [val]

或者,你也可以使用单行和单键访问字典,使用: dict.setdefault 方法。

d.setdefault(key, []).append(val)

2
投票

fiber_project["phase2"] 是一个列表,你可以简单地 append 到它。

fiber_project["phase2"].append(100)
© www.soinside.com 2019 - 2024. All rights reserved.