Dictionary 如果条件满足,则向我的字典添加一个键

Dictionary 如果条件满足,则向我的字典添加一个键,dictionary,for-loop,Dictionary,For Loop,我有一本非常简单的字典,里面有三个条目。 我想遍历字典,并在满足条件的情况下向其中添加一个新项。在这种情况下,如果键“绿色”弹出。 我已经试了一段时间了,似乎还没弄明白。我不断得到“RuntimeError:dictionary在迭代过程中更改了大小” 我的代码: color_dict = {"red" : "color", "green" : "color" , "three" : "

我有一本非常简单的字典,里面有三个条目。 我想遍历字典,并在满足条件的情况下向其中添加一个新项。在这种情况下,如果键“绿色”弹出。 我已经试了一段时间了,似乎还没弄明白。我不断得到“RuntimeError:dictionary在迭代过程中更改了大小”

我的代码:

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

for i in color_dict:
    if i == "green":
        color_dict.update({"blue" : "color"})
我是初学者,所以可能不知道更高级的方法。有人能帮我做个简单的修复吗?我觉得我遗漏了一些小而重要的东西。

替换这一行

color_dict.update({“blue”:“color”})
用下面的一行

color\u dict['blue']='color'
在这一变化之后,它起作用了

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

color_dict.update({“三”:“color”})
输出:

>>颜色
{'red':'color','green':'color','three':'notcolor','blue':'color'}
更换该行

color_dict.update({“blue”:“color”})
用下面的一行

color\u dict['blue']='color'
在这一变化之后,它起作用了

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

color_dict.update({“三”:“color”})
输出:

>>颜色
{'red':'color','green':'color','three':'notcolor','blue':'color'}