删除字典报错: dictionary changed size during iteration

背景: 删除(不是清空)定义的global 变量- 字典类型:output

之前代码:

def clearglobal():

    for key in globals().keys():

        if not key.startswith("__"):# 可以定义想要删除的global

            globals().pop(key)

出现报错: dictionary changed size during iteration,提示字典在迭代过程中出现了改变

修改之后:

def clearglobal():

    for key in list(globals().keys()):

        if not key.startswith("__"):# 可以定义想要删除的global

            globals().pop(key)

不再报错

如果想要清空字典所有键值对,比较简单: yourdict.clear() 即可。

你可能感兴趣的:(Python,python)