参考链接:https://blog.csdn.net/u013344884/article/details/81867225
这个是真的解决问题了
问题细说:
发现用for in 迭代的时候是用迭代器的, (或许是个链表?), 不能在迭代的时候添加或删除属性, 只能更改属性值.
我想了想, 解决办法有两种, 一种是把字典转为列表, 然后再增删; 或者我不遍历字典, 只遍历字典的属性名, 那么就避开了这个问题.根据需要, 我选择了后面一种, 我是这么干的
在字典遍历过程中修改字典元素,报错 RuntimeError: dictionary changed size during iteration
得知遍历时不能修改字典元素
for k in func_dict.keys():
if func_dict[k] is np.nan:
del func_dict[k]
continue
解决办法:将遍历条件改为列表
for k in list(func_dict.keys()):
if func_dict[k] is np.nan:
del func_dict[k]
continue