学习机器学习实战的时候,碰到的一个错误代码。
就是遍历字典的时候,对字典做删除。
作者的代码,是Python2的。我没试过,Python2.几的到底能不能运行。
反正,Python3.6是不能运行的。
如下:
headerTable={i:i for i in range(3)}
for k in headerTable.keys():
if headerTable[k] > 2:
del(headerTable[k])出现的异常为:RuntimeError: dictionary changed size during iteration
那么怎么对字典做修改呢?
其实很简单,就是创建一个新的字典,可以利用字典推导式
headerTable = {k: v for k, v in headerTable.items() if v > 2}
983

被折叠的 条评论
为什么被折叠?



