首页 > 解决方案 > 如果满足条件,则在我的字典中添加一个键

问题描述

我有一个非常简单的字典,包含三个项目。如果满足条件,我想遍历字典并在其中添加一个新项目。在这种情况下,如果弹出“绿色”键。我已经尝试了一段时间,似乎无法弄清楚。我不断收到“RuntimeError:迭代期间字典更改大小”

我的代码:

color_dict = {"red" : "color", "green" : "color" , "three" : "not color"}

for i in color_dict:
    if i == "green":
        color_dict.update({"blue" : "color"})

我是初学者,所以我可能不知道更高级的方法。有人可以帮我解决一个简单的问题吗?我觉得我错过了一些小而重要的东西。

标签: dictionaryfor-loop

解决方案


替换此行

color_dict.update({"blue" : "color"})

使用以下行

color_dict['blue'] = 'color'

它在此更改后起作用。

至于为什么您的代码可能不起作用,这是因为update()字典的方法只能更新字典中已经存在的键的值。例如,您可以更新 的值three

color_dict.update({"three" : "color"})

输出 :

>>> color_dict
{'red': 'color', 'green': 'color', 'three': 'not color', 'blue': 'color'}

推荐阅读