我必须删除所有具有负值的条目。为什么我的代码不起作用?
dic = {'aa': 20, 'bb': -10, 'cc': -12}
for i in dic:
if dic[i] < 0:
del dic[i]
print(dic)
运行此代码时出现异常:
RuntimeError: dictionary changed size during iteration
最佳答案
您可以通过使用字典理解来完成此任务。
dic = {k: v for (k, v) in dic.items() if v >= 0}
关于python - 为什么从字典中删除负值的代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20418851/